【发布时间】:2016-12-17 08:32:57
【问题描述】:
我有一个简单的包,可以将数据从规范化数据库传输到非规范化数据库。
它在 Visual Studio 2015 上针对远程开发服务器 SQL Server 2012 运行良好。
但是当我将它上传到开发服务器并使用执行包实用程序运行它时 我收到此错误:
文本被截断或目标代码页中的一个或多个字符不匹配
检查的内容:
检查了错误列,它在源数据库和目标数据库中的类型、长度 (
varchar 250) 和排序相同。在开发服务器上安装了 SQL Server 2012 SP3
谷歌搜索此错误我发现这是典型的平面文件导入,但我使用的是 OLE DB 源和目标
包是从 Visual Studio 2008 升级的,并且 ssis 项目设置为针对 SQL Server 2012 运行
将错误/截断行重定向到平面文件不会产生任何结果
用高级编辑器检查输入和输出,都是
[DT_STR] 250& 相同的代码页
有什么想法吗? 谢谢。
【问题讨论】:
-
Ssis 有时会根据来自平面文件的样本数据保留输出列 varchar (50)。所以请检查输出列宽
-
嗨@niketshah90,检查输出列,长度为250。我使用的是 OLE DB 源,而不是平面文件。
-
感谢@marc_s,已记录更改。
标签: sql ssis sql-server-2012 truncated