Ошибка преобразования данных служб SSIS, несмотря на использование преобразования данных и точного типа данных назначения - PullRequest
0 голосов
/ 15 января 2019

При запуске пакета появляется следующая ошибка:

[Преобразование данных [2]] Ошибка: не удалось преобразовать данные при преобразовании столбца «Имя поля» (373) в столбец «Копия имени поля» (110).

Преобразование вернуло значение состояния 2 и текст состояния «Значение не удалось преобразовать из-за потенциальной потери данных.».

Однако я не понимаю, почему. Я дважды проверил входы и выходы, чтобы убедиться, что они имеют смысл и соответствуют ожиданиям. Я также проверил все необработанные данные в столбце в моем файле Excel.

Настройка моего пакета: Преобразование данных из источника данных Excel, затем преобразованный столбец и, наконец, вывод в пункт назначения Ole DB (sql)

Что я сделал:

Я открыл расширенный редактор по конвертации данных. Я подтвердил, что входящий тип данных DT_STR, что можно ожидать, поскольку исходный тип данных не был правильно определен. Это на самом деле дата в моем файле Excel. Я подтвердил, что выходной столбец преобразования данных равен database timestamp [DT_DBTIMESTAMP], как я его установил. Моя таблица назначения имеет тип данных DateTime для FieldName.

Чего мне не хватает?

1 Ответ

0 голосов
/ 15 января 2019

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

Также убедитесь, что значения похожи на yyyy-MM-dd HH:mm:ss формат даты.

Чтобы узнать больше о типах данных служб SSIS, ознакомьтесь со следующей статьей:

Также при преобразовании строковых значений в datetime, если значения хорошо отформатированы, просто сопоставьте исходный столбец с местом назначения без преобразования данных Преобразование , и они будут неявно преобразованы

...