Как устранить ошибку усечения пакета служб SSIS - PullRequest
0 голосов
/ 18 октября 2018

Ошибка SSIS: 0xC02020A1
При попытке импортировать данные в SQL 2008 из файла CSV я получаю сообщение об ошибке ниже.

> Error: 0xC02020A1 at Data Flow Task, Source – Distribution by xyz
> table from CSV [1]: Data conversion failed.
> The data conversion for column "ID" returned status value 4 and
> status text "Text was truncated or one or more characters had no match
> in the target code page.".    

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

1 Ответ

0 голосов
/ 18 октября 2018

Скорее всего, у вас есть "плохие" записи в вашем необработанном файле.

Для "плохих", если может быть один из этих двух: 1) неявное преобразование не может быть выполнено в строковое значение;2) строка слишком большая (превышает 8000).

Для отладки измените целевой столбец на VARCHAR(MAX).

Затем загрузите необработанный файл (не забудьте увеличить длину внешнего столбца до 8000 на странице Advanced в диспетчере соединений с флагом).

, если:

1) он успешно загружен, запросить таблицу where ISNUMERIC([that numeric column]) =0, если что-то возвращается, это плохая запись, которую нельзя преобразовать при загрузке.

2) он загружен неправильно, попробуйте посмотреть, есть ли у вас значение из этого поля, содержащее более 8000 символов.(можно использовать скрипт C #, если невозможно вручную проверить)

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