我有一个简单的包,可以将数据从规范化数据库传输到非规范化数据库。
它在Visual Studio 2015上针对远程开发服务器(SQL Server 2012)运行良好。
但是当我将它上传到dev服务器并使用Execute Package Utility运行它 我收到这个错误:
文本被截断或目标代码页中的一个或多个字符不匹配
检查事项:
检查错误列,它是相同的类型,长度(varchar 250
)&整理来源&目的地数据库。
在开发服务器上安装SQL Server 2012 SP3
谷歌搜索这个错误我看到它是平面文件导入的典型,但我正在使用OLE DB源&目的地
软件包已从Visual Studio 2008升级,ssis项目设置为针对SQL Server 2012运行
将错误/截断行重定向到平面文件不会产生任何结果
输入&使用高级编辑器检查输出,所有输出都是[DT_STR] 250
&相同的代码页
有什么想法吗? 感谢。
答案 0 :(得分:0)
您应该通过右键单击OLEDB源和目标组件来检查高级编辑器。检查他们的数据类型和长度。他们应该匹配。
流程:
在源任务上,右键单击 - >显示高级编辑器 - >输入和输出属性 - >源输出 - >输出列 - >数据类型属性 - >数据类型/长度
源和&中的更改(数据类型/长度)目的地的方式与您的要求类似。
在源任务上,右键单击 - >显示高级编辑器 - >输入和输出属性 - >源输出 - >输出列 - > TruncationRowDisposition。
- 失败组件 - 如果发生截断则失败
- 忽略失败 - 忽略截断错误
- 重定向行 - 将截断的行重定向到所需的目标
您也可以检查行以猜测原因,如果它们仍然失败
我希望这可以帮到你!