我正在运行一个SSIS包,将数据从一个SQL服务器提取到其他SQL Server . 源表和目标表具有相同的架构 . 其中一列是nvarchar(max)数据类型 . 当我试图插入数据时 - 它给了我nvarchar(max)类型列的跟随错误 -
错误:SSIS错误代码DTS_E_OLEDBERROR . 发生OLE DB错误 . 错误代码:0x80004005 . OLE DB记录可用 . 来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005描述:“第13列的Unicode数据是奇数字节大小 . 应该是偶数字节大小 . ” .
有人可以帮我解决这个问题吗?
2 回答
NVarchar存储16位= 2字节字符 .
NVarchar列的大小以字节为单位指定 .
因此,如果您需要在NVarchar列中存储13个字符数据,则需要将其大小设置为26 .
这允许您存储来自世界各地的公共角色 .
尝试使用以下表达式添加派生列,并将其映射到目标列
否则,请查看以下文章,其中包含有用信息: