首页 > 解决方案 > 错误 0xc0204016:SSIS.Pipeline:“数据转换 [....]”的长度无效。长度必须在 0 到 8000 之间

问题描述

尝试将带有“文本流 [DT_TEXT]”列的 CSV 文件导入到包含 varchar(max) 列的现有表中时,我收到了主题错误。我可以将相同的文件导入新表而没有任何问题。只有在尝试将“导入数据”附加到现有表时,才会出现错误。我完成了完全相同的步骤(例如“选择数据源”、“建议类型”的高级部分、将 DataType 指定为文本流 [DT_TEXT] 并在指定要导入到的现有表后通过编辑映射等) . 在“查看数据类型映射”屏幕上,我双击主题列以查看转换详细信息 - 它显示源类型为“文本流 [DT_TEXT]”,目标类型为 varchar(max)。

看起来很奇怪,我不得不将其他文件导入到他们自己的新表中 - 然后如果我需要合并数据,则执行 SQL 语句以从一个表插入到另一个表。

谁能指导我了解我可能缺少的东西?

谢谢。

解决方案:我找到了解决此问题的方法。至少在我的情况下,我回去选择了一个不同的目的地。我没有选择“.Net Framework Data Provider for SqlServer”,而是选择了“SQL Server Native Client 11.0”。而这一次,我实际上能够使用“文本流 [DT_TEXT] 列导入数据,并使用 varchar(max) 列附加到现有表。

标签: sql-servercsvimportssms

解决方案


推荐阅读