Я пытаюсь импортировать столбец дат из электронной таблицы в Excel 2003 в SQL Server 2005 с помощью служб SSIS. Я нахожусь в Великобритании, поэтому хочу, чтобы даты были отформатированы как дд / мм / гггг.
К сожалению, столбец в электронной таблице содержит смесь дат, сохраняемых в виде строк в формате дд / мм / гггг (с форматированием Excel «Общие»), а также даты с использованием формата «Дата» в Excel в формате дд / мм / гггг (с языковым стандартом) «Английский (Великобритания)»).
Так оно и есть, и я не могу ожидать, что пользователи смогут сами разобраться с этим.
При просмотре таблицы все даты выглядят корректно, т. Е. Дд / мм / гггг.
Я пытаюсь импортировать значения в столбец varchar в таблице хранения в базе данных. Затем я запускаю хранимую процедуру, которая копирует эти значения в соответствующую таблицу, которая содержит столбец datetime.
Проблема в том, что даты, которые хранятся в электронной таблице и используют форматирование даты, импортируются как SQL / MM / гггг в SQL Server, а даты, сохраненные в виде строк, импортируются как dd / MM / гггг. У меня IMEX = 1 в строке подключения.
Наличие дат в обоих столбцах varchar в обоих форматах, очевидно, вызывает проблему, когда я пытаюсь поместить их в столбец datetime, поэтому
SET DATEFORMAT MDY;
SET DATEFORMAT DMY;
бесполезны.
Кто-нибудь знает, почему пакет служб SSIS импортировал бы, казалось бы, правильные даты из электронной таблицы Excel в SQL Server как MM / dd / yyyy?
Есть ли способ заставить пакет служб SSIS импортировать даты в формате дд / мм / гггг, которые будут работать с этой комбинацией дат в виде строк и ячеек с примененным форматированием даты?
Есть еще идеи?!
Большое спасибо,
Anthony