Как настроить ведение журнала ошибок на уровне источника в задаче потока данных служб SSIS - PullRequest
0 голосов
/ 08 января 2012

Как настроить ведение журнала ошибок на уровне источника в задаче потока данных служб SSIS?

Пример сценария, использованного в примере.

create table test_data (col1 int, col2 varchar(100))

insert into test_data values (1, '00 0');
insert into test_data values (2, '02');

Исходная команда SQL OLE DB со следующим запросом

select * from test_data where col2=0;

Этот запрос не выполняется

Пункт назначения - плоский файл.

Во время выполнения сообщается о следующей ошибке.

Источник OLE DB [1] Ошибка: код ошибки служб SSIS DTS_E_OLEDBERROR. OLE DB произошла ошибка Код ошибки: 0x80040E07. Запись OLE DB имеется в наличии. Источник: «Собственный клиент Microsoft SQL Server 10.0». Результат: 0x80040E07 Описание: «Преобразование не удалось при преобразовании varchar значение '00 0 'для типа данных int. ".

Я получаю вышеуказанную ошибку при запуске пакета. Я знаю, что запрос неверен, но я не собираюсь изменять исходный запрос, это пример, полученный из моего приложения.

Чтобы записать эту ошибку в файл LOG, указав местоположение, что мне следует сделать?

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

1 Ответ

0 голосов
/ 09 января 2012

Существует несколько способов регистрации ошибки.

1.Вы можете использовать функцию регистрации SSIS. SSIS-> Logging

Выберите тип поставщика (поставщик журналов служб SSIS для текстового файла) Если вы хотите, чтобы ошибка была сохранена в текстовом файле.

    Go the Details tab and select OnError Event .

2.В обработчике события компонента Щелкните по событию On Error и перетащите задачу Script и напишите код, чтобы зафиксировать ошибку и сохранить ее в текстовом файле. Используйте системную переменную ( System: : ErrorCode ) и ( System :: ErrorDescription ), чтобы узнать информацию об ошибке

Надеюсь, это поможет.!

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