【发布时间】:2012-02-29 12:29:28
【问题描述】:
当使用 SSIS 从源表加载数据时,我们有一个 OLE DB 目标,它使用“表或视图 - 快速加载”的数据访问模式(它使用 BULK INSERT 来完成工作)。当我们尝试执行任务时,我们得到一个非常奇怪的错误信息:
错误:4804,严重性:17,状态:1 读取当前行时 主机,遇到过早的消息结束 - 传入数据 当服务器希望看到更多数据时,流被中断。这 主机程序可能已终止。确保您使用的是 支持的客户端应用程序编程接口 (API)。
该错误似乎表明传入数据中存在某种损坏,但我们已经清理了源数据并且一切正常。如果我们将数据访问模式更改为“表或视图”(使用游标进行插入),则每一行都会添加而不会出现任何错误。
表定义:
CREATE TABLE [dbo].[CUST](
[CUST_FIRST_NM] [varchar](50) NOT NULL,
[CUST_MIDL_INIT] [char](1) NULL,
[CUST_LAST_NM] [varchar](50) NOT NULL,
[CUST_EMAIL_ADDR] [varchar](100) NULL,
[CUST_TELE_PHONE_NBR] [int] NULL,
[CUST_TELE_CNTRY_CD] [smallint] NULL,
[CUST_TELE_AREA_CD] [smallint] NULL,
[LAST_UPD_DTTM] [datetime] NOT NULL,
[CUST_ID] [bigint] IDENTITY(1,1) NOT NULL,
[CUST_CD] AS ('PUB'+right(CONVERT([varchar](max),CONVERT([varbinary],[CUST_ID],0),(1)),(7))),
CONSTRAINT [XPKCUST] PRIMARY KEY CLUSTERED
(
[CUST_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
知道是什么导致了这个错误吗?
【问题讨论】:
标签: sql-server-2008 ssis