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.

时间: 2024-10-12 08:34:21

SSIS Destination 组件使用Fast-Load mode出错的相关文章

[转]SSIS package taking forever to load when you open it?

SSIS package taking forever to load when you open it? Posted on July 13, 2011 by James Serra When you open a SQL Server Integration Services (SSIS) package in SSIS Designer or add components to a package, SSIS by default checks the data sources used

SSIS 查找 组件

通过SSIS的“查找”组件进行不同数据源之间数据的合并操作 为了协助开发还原生产环境中的某些bug,需要将将生产环境的某些特定表数据导入到测试环境做测试,之前一直都是暴力地truncate测试环境的表,然后用SSIS将生产环境对应的整张表数据导入测试环境,简便快捷后来开发提出来,保留测试环境已有的数据,只同步差异的数据(根据主键),于是就尝试使用SSIS中的“查找”组件进行不同服务器之间的“存在则更新,不存在则插入”数据合并操作,实际操作的时候只执行插入操作,达到同步数据的目的. 尝试之后觉得还

vue -vantUI tab切换时 list组件不触发load事件解决办法

最近由于公司项目需要,用vue写了几个简单的页面.用到了vantUI List 列表 瀑布流滚动加载,用于控制长列表的展示 当列表即将滚动到底部时,会触发事件并加载更多列表项. 看上去一切都很美好:但是tab进行切换的时候,list组件的load事件不会再次被触发!!!就是list组件做上拉加载只有在第一个tab会触发,切换后触底不会再次触发 解决办法: 初始化定义了list的加载状态 tab切换时:重新初始化一次就行了 这样就解决了tab切换list组件不能再次被触发的问题 原文地址:http

SSIS: Lookup组件高级用法,生成推断成员(inferred member)

将数据导入事实表如果无法匹配维度表的记录一般有两种处理方式. 一是将不匹配记录输出到一个表中待后续处理,然后重新导入.二是先生成维度Key,后续再完善维度key,本文指导各位使用第二种方式. 背景 比如下图StoreID为1的经销商不存在于我们经销商维度表中,我们现在要使用lookup组件进行匹配,并生成维度key. 操作步骤 1. 先添加一个派生列组件,将StoreID转为字符,等会儿生成键值会用到. 2. 先进行匹配一次,然后把无法匹配到的记录传到下一个Lookup 组件  Insert 

MySql 8+版本 load data出错的问题

MySql数据库升级到8以上时,对于开发人员来说非常好用的数据批量导入的工具loaddata使用会出现一些小问题. 这里简单总结一下,如果可以帮大家省时间最好不过了 简单粗暴,围绕出啥错,为什么,怎么解决三点开始正文 错误:ERROR 1148: The used command is not allowed with this MySQL version 为啥:load data local可被利用为高危漏洞,所以8以上mysql默认关闭改功能 咋办:修改全局变量启用load data set

微软BI 之SSIS 系列 - 使用 Script Component Destination 和 ADO.NET 解析不规则文件并插入数据

开篇介绍 这一篇文章是 微软BI 之SSIS 系列 - 带有 Header 和 Trailer 的不规则的平面文件输出处理技巧 的续篇,在上篇文章中介绍到了对于这种不规则文件输出的处理方式.比如下图中的这种不规则文件,第一行,第二行 Header 部分,第三行的内容 Content 部分,最后一行的 Trailer 部分. 在前几个课程 微软BI SSIS 2012 ETL 控件与案例精讲 第43,44,45,46 课中,我分别讲解了如何使用 .Script Component Source 解

使用SSIS Slow Changing Transformation组件管理缓慢变化维

最近尝试用SSIS自带的 Slow Changing Transformation组件处理缓慢变化维,看到有一篇文章写的很详细,就按照步骤进行操作同时进行翻译.原网址来自:Managing Slowly Changing Dimension with Slow Changing Transformation in SSIS. 介绍 作为数据库专家或者ETL的开发者你可能偶尔会碰到需要维护和管理缓慢变化唯的场景.在SQL Server中有多种方法来实现,最简单的是使用SSIS 数据流组件中的Slo

微软BI 之SSIS 系列 - 对于平面文件中 NULL 值处理过程中容易极易混淆的几个细节

最近有人问我 OLE DB Destination 中的 Keep Nulls 如何控制 NULL 值的显示,为什么选中了 Keep Nulls 但是数据库中没有 NULL 值? 为什么在 Flat File Source 中勾选上了 Retain null values from the source as null values in the data flow 但是为什么目标表上显示的是一个当前日期,而不是 NULL 值等等,单开此文来解释这些非常容易混淆的概念. 在比较纯粹的 ETL 项

某大型银行电子渠道报表系统SSIS ETL优化报告

1. 问题分析 1.1 问题场景 在生产环境下,从电子渠道的多个交易系统通过SSIS(SQL Server Integration Services)进行数据服务平台的ETL数据抽取时出现性能问题.在初期使用过程中出现了数据抽取速度过慢和系统资源占用过高的问题,除数据库基础架构建设存在优化可能外,SSIS参数未做面向生产环境硬件的优化也是一个重要原因,导致无法正常发挥SSIS真正性能. 1.2 原因分析 SSIS采用VS2005集成的开发环境,对数据采集的过程可进行可视化的定制开发,对数据量小的