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