Устранение неполадок пакета служб SSIS - PullRequest
1 голос
/ 15 июля 2009

Я работаю с пакетом служб SSIS, который извлекает данные из источника DB2, выполняет процесс преобразования (Unicode) и затем сохраняет данные в таблице SQL. Из приведенной ниже информации об ошибке я смог определить, что в файле / таблице DB2 есть какие-то специальные символы. Что я не знаю, так это как я могу сузить, какая конкретная запись имеет проблему. В файле DB2 содержится около 200 000 записей, и мне нужно знать, какая именно вызывает эту проблему.

Есть ли способ запросить источник DB2, ища "специальные символы"? Есть ли способ, чтобы пакет служб SSIS показывал мне, на какой записи происходит сбой?

Ошибка : 2009-07-15 01: 32: 31.19
Код : 0xC020901C
Источник : импорт данных моего приложения ДЕТАЛИ [2670]
Описание : было ошибка с выходным столбцом "COLUMN1" (2710) на выходе "Источник OLE DB Выход "(2680). Состояние столбца было возвращено: «Текст был усечен или один или несколько персонажей не соответствуют друг другу в целевая кодовая страница. ".

1 Ответ

1 голос
/ 16 июля 2009

DB2 имеет встроенную функцию HEX (), которая принимает практически любое выражение любого типа и возвращает VARCHAR шестнадцатеричного представления каждого байта. Вы также можете указать любое двоичное значение в качестве литерала, добавив его x ', например: x'0123456789abcdef'

Если проблема связана с однобайтовым символом, вы можете найти его, построив временную таблицу из всех отдельных символов от x'00 'до x'ff' и посмотрев, какие из них появляются в каждой строке ваших данных DB2 , Вы также можете добавить некоторый код в утилиту, которая преобразует данные для Unicode, чтобы она сканировала записи DB2 на предмет любых аномалий.

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