Задание SQL не может выполнить пакет, но VS не - PullRequest
1 голос
/ 14 февраля 2012

Когда я запускаю пакет прямо из Visual Studio, он не выдает ошибку. Когда я выполняю пакет через задание агента SQL Server, он выдает ошибку:

Источник: Fact_Invoice_Item PWBConsolidation [1] Описание: SSIS Код ошибки DTS_E_OLEDBERROR. Произошла ошибка OLE DB. ошибка код: 0x80004005. Доступна запись OLE DB. Источник: «Microsoft Собственный клиент SQL Server 10.0 "Hresult: 0x00040EDA Описание: «Предупреждение: нулевое значение устраняется агрегатом или другим SET операция. ". Ошибка конца Ошибка: 2012-02-14 07: 17: 49.01 Код: 0xC0047038 Источник: Fact_Invoice_Item SSIS. Трубопровод
Описание: код ошибки служб SSIS DTS_E_PRIMEOUTPUTFAILED. PrimeOutput метод для компонента "PWBConsolidation" (1) возвратил код ошибки 0xC0202009. Компонент возвратил код ошибки, когда конвейер двигатель называется PrimeOutput (). Значение кода ошибки определяется компонентом, но ошибка является фатальной и конвейер перестал исполнять. Там могут быть сообщения об ошибках, опубликованные до этого с дополнительной информацией о сбое. Ошибка завершения DTExec: выполнение пакета вернуло DTSER_FAILURE (1). Начало работы: 7:14:35 Закончено: 7:17:50. Прошло: 195.094 секунды. Посылка исполнение не удалось. ПРИМЕЧАНИЕ: шаг был повторен запрошенный номер раз (3) без успеха. Шаг не пройден.

Я выделил деталь, которая вызывает проблему. В Ole Db Source я использую запрос для получения данных, и когда я удаляю следующую строку, пакет успешно выполняется через задание агента сервера Sql:

Checksum = Checksum(S.BrokerID, S.TeamID, II.DatabaseName, II.INVOICE, I.Invoice_Date, P.Expiration_Date, P.Effective_Date, 
    P.Binder_Effective, I.AGENCY, II.MARKET, P.POLICY, CT.LINE_OF_BUSINESS, II.Coverage_Type, SUB.INSURED, 
    LOB.Description, CT.Description, I.Date_Due, I.Installment, P.Installments, P.ENDORSES, I.Inv_Tdate, Inv_Acctcur,
    INS.INDUSTRY, SUB.SUBMISSION
    )

EDIT:
Я только что проверил и похоже, что часть данных проходит через поток данных, и в какой-то момент он просто выдает ошибку. Я вручную установил контрольную сумму = 2 и все еще не работает

Есть идеи, почему это так?

Большое спасибо,
Ilija

1 Ответ

0 голосов
/ 15 февраля 2012

Это выглядит так, как будто вы столкнулись с проблемой ограничений в вашей таблице, в которую вы вставляете данные, или со значениями, с которыми вы работаете ... например, агрегатная функция (max, sum, avg ..) существует с нулевым значением.

Попробуйте перенаправить строки ошибок в плоский файл или что-то в этом роде и посмотрите, по-прежнему ли вы получаете ошибку.

Также попробуйте установить ANSI_WARNINGS OFF в своем выражении SQL

Наслаждайтесь и удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...