2012-01-18 21 views
2

Visual StudioプロジェクトのSQLデータベースにテキストファイルの一部のデータをインポートしようとしています。すべての列が日付列から正しくインポートされました。私は02-02-12、03-02-12、などのような日付を持っているテキストファイルでtxtファイルからSQLデータベースにデータをインポート

BULK INSERT T2 FROM 'c:\Temp\Data.txt' WITH (FIELDTERMINATOR = ',') 

が、データベースには、すべての行が01に設定されています:私は、データをインポートするには、次のコマンドを使用しました/ 01/1900私はこれが起こったかもしれないと思ったのは、日付形式がテキストファイルとSQLデータベースとで異なっているからです。誰かがデータベースに日付をどのようにインポートできるのか知っていますか?

ありがとうございました

+0

BULKのINSERT:

set dateformat dmy BULK INSERT T2 FROM 'c:\Temp\Data.txt' WITH (FIELDTERMINATOR = ',') 

私は1つの、それについてのレポートが、これはなぜ起こるか明確な答えを見つけることができました日付についてかなり気になりますが、日付形式をmm/dd/yyyyに変更するとどうなりますか?それはうまくいくはずですが、データファイルを更新するのはどれほどの成果ですか? – Sparky

+0

@ Sparkyデータはテキストファイルの中にあります。私は手動で2000行以上を手動で変更する必要があります:-( – Blob

+0

あなたはcsvデータを持っています...それをExcelでCSVファイルとして開き、あなたは必要です... – maneesha

答えて

1

私は2008r2のあなたの例を使用して同じ問題に遭遇します。 エラーはありませんが、すべて1900-01-01に設定されています。 DATEフィールドへの入力に使用すると、bcpの癖になります。 それはあなたが日付タイプを使用する場合は、日時やsmalldatetime型に変更し(両方とも私のために働いていた)、それが助けかどうかを確認のみDATE列型

のために、このようを振る舞います。 日、月、年が正しく読み込まれるように、dateformatを設定することを忘れないでください。 それがあるべき(テキストファイルに)日 - 月 - 年の場合: similar case reported here

+0

はMSデータベースのアクティブなバグとして見つかりました:[link](https://connect.microsoft.com/SQLServer/feedback/details/526074/owner) – wmz

+0

このコマンドは完全に機能しましたが、私はSQLにインポートする列がないと教えてもらえますか?例えば、6列のデータをカンマで区切って、1,2,4,5列のみをインポートしますか? – Blob

+0

@ user1091114形式ファイルを使用する必要があります。リンク](http://msdn.microsoft.com/en-us/library/ms187908。 aspx) – wmz

関連する問題