Я создаю пакет SSIS для загрузки плоского файла (CSV) на сервер SQL.
Я получаю следующую ошибку, когда пытаюсь вставить в столбец state_code
(char (2)) на SQL-сервер. Если я изменю тип данных назначения на Char(4), пакет будет выполнен успешно.
Я подозреваю, что это проблема, созданная из-за «NULL» в CSV. Пакет принимает NULL как 4 символа и пытается вставить его в Destination(Char(2)). Я много гуглил. Но подобной ситуации я нигде не нашел.
[Источник плоского файла [2]] Ошибка: сбой преобразования данных. Преобразование данных для столбца «Столбец_1» вернуло значение состояния 4 и текст состояния «Текст был усечен или один или несколько символов не соответствовали целевой кодовой странице».
NULL
. NULL иNULL
— это не одно и то же. - person Larnu   schedule 21.12.2017NULL
текстом"NULL"
- person Jacob H   schedule 21.12.2017DT_WSTR
, тогда что-то вроде:[Column Name] == "NULL" ? NULL(DT_WSTR,2) : [Column Name]
. P.S. csv означает только файл, разделенный командами (без участия Microsoft). Кроме того, я предполагаю, что OP имеет строки NULL в csv, поскольку кто-то скопировал данные из SSMS и не удалил значение NULL с помощью функции «Найти и заменить». - person Larnu   schedule 21.12.2017