При использовании 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]
Любая идея, что может быть причиной этой ошибки?