2012-02-16 2 views
2

I Создан пакет SSIS, в котором данные берутся из плоской мухи и передаются в базу данных.Ошибка формата даты при импорте из плоского файла в базу данных SQL

Но у этого был непонятный и веселый эффект интерпретации дат непоследовательно. Любые даты, где день был больше 12-го числа, были бы правильно интерпретированы как dd/mm/yyyy, но все, что меньше, было бы назад.

Так 02/15/2012 будет правильно читать 15 февраля 2012 года

Но 02/09/2012 счастливо быть интерпретировано как 2-го сентября 2012 года

+0

Помогает ли FastParse? [import string date в производном столбце] (http://stackoverflow.com/questions/8186291/import-string-date-in-derived-column) и [Как включить опцию FastParse в SSIS?] (http: // stackoverflow.com/questions/154041/how-to-turn-on-fastparse-option-in-ssis) – billinkc

ответ

1

Этот вопрос является общим и Я сталкивался с ним много раз.

Прежде всего, проверьте, не установлен ли ваш язык службы SSIS в Соединенных Штатах.
Вам необходимо установить его на английском (United Kindom) или голландском (Нидерланды).
Чтобы сделать это, щелкните в любом месте вашего пакета SSIS и просмотрите свойства и установите LocaleID (в разделе Misc). В менеджерах соединений выберите файл flat_source_file Connection и отредактируйте LocaleID на панели свойств. Если это не поможет, выполните следующие действия:

Я бы установил исходный столбец в «Плоский файл источника» на string.
Затем используйте преобразование «Преобразование данных», чтобы указать столбец даты либо DT_DATE, либо DT_DBDate.

DT_DATE - это структура даты, состоящая из года, месяца, дня и часа.
DT_DBDATE - это структура даты, состоящая из года, месяца и дня.

Теперь используйте новый преобразованный столбец в окне назначения.

Смежные вопросы