• 締切済み

datetime型のインポートについて

はじめまして。 datetime型のインポートについて質問ですが、 datetime型にNULLをインポートしようとすると、 "キャストした文字コードが正しくありません。"。 のエラーが出力されてしまいます。 また、datetime型に何も入力していないデータをテキストへエクスポートし、そのテキストを再度インポートしても同様のエラーが出力されます。 何か解決方法がございましたらご教授願います。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

データベースを右クリックして「タスク→データのインポート」ってやっているのですよね? (そのデータインポートおよびエクスポートウィザードで、データソースにフラットファイルソース、変換先にSQL Serverを使用してインポートしているのだと思っていますが) 私が書いているのは、そのウィザードの設定画面の「詳細設定」画面の話です。 もし違う方法でインポートしているのであればどうやってインポートしているか教えて頂けますか?

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

データソースの選択画面の、詳細設定では該当列のDataTypeが文字列[DT_STR]と認識されていると思いますので、それを日付[DT_DATE]に変更します。 そうするとエラーにはならなくなるはずです。 ただし、インポートした結果はNULLでなく、1899/12/30になります。 データインポートユーティリティも内部的にはSSISなのですが、SSIS側の方に変換したときにNULLを保持できないようです。 (つまり、仕様ってことでしょうか。DTSではこんなことなかったと思いますけど) 私は、あとでNULLにUPDATEするか、CSVならBULK INSERTを使っています。

mitti_m
質問者

補足

jamshid6様、回答有難うございます。 SqlServer Management Studioを使用しておりますが、 データ型に[DT_STR]はなく、datetimeとなっております。 (列のプロパティの全般にて設定) Nullを許可も"はい"となっているのにエラーになってしまいます。

関連するQ&A