大家早上好,现在已经2天试图弄清楚如何解决这个问题,仍然没有答案。也许你能帮帮我。事情就是这样。我创建了一个 SSIS 包来从另一个数据库服务器导入数据;这是两台服务器的规格:我正在使用 Sql Server Data Tools 2012
来源:SQL Server 2008 r2 连接类型:OLE DB
目标:SQL Server 2012 连接类型:OLE DB
该包是一个导入和导出包,有 2 个任务,一个“数据流任务”和一个“执行 SQL 任务”。源是一个 SQL 命令,从几个连接中进行简单选择,没什么特别的。Destination 是目标服务器中的表。当然,我们之间有一个数据转换任务。在我们向选择中添加一个类型为 varchar(50) 的新列之前,该程序包运行良好。我用相同的方式修改了目标表,只有我使用了 NVARCHAR(50),并将数据转换添加为长度为 50 的 UNICODE 字符串 [DT_WSTR]。
完成此操作后,我收到错误消息:
错误:[包] 处的 0xC020901C,源 - 查询 [127]:源 - Query.Outputs[OLE DB 源输出].Columns[COL] 在源 - Query.Outputs[OLE DB 源输出] 上存在错误。返回的列状态为:“由于可能丢失数据,无法转换该值。”。
我试图将目标列的大小从 50 增加到 100,但仍然发生相同的错误。奇怪的是,当我在源查询中用 NULL 替换 Col 时,我让包完美运行。
有什么建议么?