Подробный ответ, но я позволю себе не согласиться с тем, «SSIS не может распознать формат даты, указанный в вопросе».
Возможно, если оно было переформулировано как «SSIS не может распознать предоставленный формат даты без посторонней помощи». Основная проблема в этом случае заключается в том, что по умолчанию подпрограммы синтаксического анализа даты и номера поддерживают язык . В общем, это хорошо, кроме случаев, когда это не так. Я впервые наткнулся на это, когда имел дело с датами в формате ccyymmdd, выходящими из мэйнфрейма. Как указали другие, в tsql он будет разбираться, почему не SSIS? Существует множество статей, в которых предлагается разделять и нарезать кубики на строковые данные, чтобы сделать их действительными датами, но зачем проходить через все эти трудности?
Учитывая это как пример входных данных (с разделителями табуляции).
LongDateDesiresFastParse Gibberish
Oct 25 2011 10:18:10:756PM Hello world
Oct 24 2010 10:18:10:756PM Hello 2010 world
Oct 23 2009 10:18:10:756PM Hello 2009 world
Oct 22 2008 10:18:10:756PM Hello 2008 world
И посылка, которая выглядит следующим образом,
![Control flow](https://i.stack.imgur.com/ChwL9.png)
Изменяя один параметр в Источник плоских файлов , я могу заставить пакет не работать или нет.
![Generic data flow](https://i.stack.imgur.com/8Ig6h.png)
Щелкните правой кнопкой мыши на источнике плоских файлов и выберите «Показать расширенный редактор». На вкладке «Свойства ввода и вывода» разверните столбцы вывода и найдите столбец с датой. Измените настройку FastParse с False на True .
![Setting fast parse in a flat file source](https://i.stack.imgur.com/2ZWOw.png)
Когда я запустил его, пакет изначально потерпел неудачу, поскольку терял точность, сохраняя это значение в DB_TIMESTAMP
. Я был успешным, когда я установил столбец для типа DB_TIMESTAMP2
![Connection Manager, advanced tab](https://i.stack.imgur.com/tfwl3.png)
Демо-пакет доступен на https://sites.google.com/site/billfellows/home/files/FastParse.dtsx?attredirects=0&d=1