SSIS Destination 组件使用Fast-Load mode出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS Destination 组件使用Fast-Load mode出错相关的知识,希望对你有一定的参考价值。

查看一个Package的历史Message 数据,发现 DataFlow Task 经常出错,错误信息的Description是:

Description: "While reading current row from host, a premature end-of-message was encountered--an incoming data stream was interrupted when the server expected to see more data. The host program may have terminated. Ensure that you are using a supported client application programming interface (API).".

 

错误原因是:使用Fast-Load 将数据导入到Nvarchar(max)或varchar(max) column中时,会出现错误。

当Destination组件使用Fast-Load 模式时,实际上,SQL Server 使用bulk insert 来插入数据。如果Targe table 存在 nvarchar(max) 或 varchar(max) column,SSIS 使用bulk insert 会出现错误。

 

在《Error in SSIS Data Flow when using Fast Load》中,说到使用Computed Column 也会导致 Fast-Load 出现错误,经本人测试,不会出现错误。

参考doc:

Bulk Load Fails with nvarchar(max) 

Unable to Bulk Insert with NVARCHAR(MAX) Column

Bulk load error: While reading current row from host, a premature end-of-message was encountered.

以上是关于SSIS Destination 组件使用Fast-Load mode出错的主要内容,如果未能解决你的问题,请参考以下文章

SSIS 条件拆分错误 - 数据类型 DT_BYTES 不能与二元运算符“==”一起使用

SSIS - 删除现有行然后插入,不完整的结果

如何在 SSIS 脚本组件中使用 OLEDB 连接执行 SqlCommand

以编程方式对输入进行 SSIS 脚本组件转换

SSIS 查找 组件

防止平面文件目标中的重复标题 - SSIS