代码之家  ›  专栏  ›  技术社区  ›  Mehmet Otkun

字符串或二进制数据将从SQL Server截断到PostgreSQL链接服务器

  •  0
  • Mehmet Otkun  · 技术社区  · 6 年前

    有一个字符串列导致错误:

    在SQLServer中,我的列类型是 nvarchar(max) ,在PostgreSQL中,列的类型为 text .

    我的查询如下:

    INSERT INTO PGLINKED.MYPGDB.MYTARGETTABLE
        SELECT
            MyColumn
        FROM 
            MYSRCTABLE
    

    INSERT INTO PGLINKED.MYPGDB.MYTARGETTABLE
        SELECT
            MyColumn = CAST(MyColumn AS NVARCHAR(4000))
        FROM 
            MYSRCTABLE
    

    我该怎么解决这个问题?

    1 回复  |  直到 6 年前
        1
  •  -1
  •   dfundako    6 年前

    nvarchar(max) 不等于 nvarchar(4000)

    以下是SQL Server中的示例:

    DECLARE @ varchar(100) = REPLICATE('A', 100)
    
    SELECT @ AS uncasted, CAST(@ AS VARCHAR(4)) AS casted
    

    试着把它扔到 在你的插页上。