SSIS包失败并显示错误:“文本被截断,或者目标代码页中的一个或多个字符不匹配。”

时间:2012-07-16 00:35:41

标签: sql sql-server ssis

我最近更新了一个工作正常的SSIS包,现在收到以下错误:

Text was truncated or one or more characters had no match in the target code page.

该包有效地将数据从一个数据库中的表传输到另一个服务器上另一个数据库中的表。我所做的更新是在转移中添加另一列。该列的长度为Char(10),源服务器和目标服务器上的长度相同。在传输数据之前,它也是Char(10)。我看到人们在博客文章和Stack上都报告了这个错误,我所阅读的内容都没有帮助。我读到的一个解决方案涉及使用数据转换来明确更改有问题的列,这没有帮助(或者我误用了修复程序)。

2 个答案:

答案 0 :(得分:0)

您使用的是SQl Server和SSIS的版本吗?

我想说看一下组件的输出和输入字段。 CHAR总是只是它的长度(我的意思是,char(10)总是使用10个字节)并且由于你有一个截断错误,它可能是一个开始。尝试增加字段的大小或在加载数据的查询上转换为varchar(不是作为永久解决方案,只是为了试图隔离问题)

答案 1 :(得分:0)

您正在使用ADO.Net或OLEDB连接的哪个连接?

如果您不需要进行太多更改,请尝试删除源和目标。有时,元数据可以解决此问题。如果这不能解决您的错误屏幕截图的问题。