SSIS を使用して、Excel 2003 のスプレッドシートから SQL Server 2005 に日付の列をインポートしようとしています。私は英国にいるので、日付を dd/MM/yyyy の形式にしたいです。
残念ながら、スプレッドシートの列には、dd/MM/yyyy の文字列として格納された日付 (Excel の「General」形式) と、Excel の「Date」形式の dd/MM/yyyy (ロケールが「English (」) の日付) が混在しています。イギリス)')。
これはまさにその通りであり、ユーザーが自分でこれを解決できるとは期待できません。
スプレッドシートを見ると、すべての日付が視覚的に正しく表示されます。つまり、dd/MM/yyyy です。
データベースの保持テーブルの varchar 列に値をインポートしようとしています。次に、日時列を含む適切なテーブルにこれらの値をコピーするストアド プロシージャを実行します。
問題は、スプレッドシートに保存され、日付形式を使用する日付が MM/dd/yyyy として SQL Server にインポートされ、文字列として保存された日付が dd/MM/yyyy としてインポートされることです。接続文字列に IMEX=1 があります。
同じ varchar 列で両方の形式を使用する日付を使用すると、datetime 列に入れようとすると明らかに問題が発生するため、
SET DATEFORMAT MDY;
SET DATEFORMAT DMY;
役に立たない。
とにかくSSISパッケージがExcelスプレッドシートの一見正しい日付をSQL ServerにMM/dd/yyyyとしてインポートする理由を知っている人はいますか?
SSIS パッケージが日付を dd/MM/yyyy としてインポートするように強制する方法はありますか?
他のアイデアはありますか?!
どうもありがとう、
アンソニー