2016-12-16 15 views
0

にテキストをインポートするときに、私は、フィールドを変更するとき、それはvarchar型であることを動作しますが、フィールドの型が日時一括挿入doesntの挿入データ日付フィールド

DECLARE @SQL NVARCHAR(MAX) 
SET @SQL =N'Bulk Insert tblUsersXTemp 
from '''+ 
@filePath + 
N'''WITH (FIELDTERMINATOR = ''","'', 
ROWTERMINATOR = ''"\n'')'; 

EXEC sp_executesql @SQL 

enter image description here

+0

これはあなたのフルSQLスクリプト/ストアドプロシージャですか?いいえの場合は、フルSQLスクリプトを共有します。 –

+0

tblUsersXTempのこの列のデータ型は何ですか? – scsimon

+0

あなたは*関連情報を投稿していません。テーブルスキーマはなく、ファイルサンプルもありません。何らかの方法で指定しないと、SQL Serverが日付形式をどのように推測すると思いますか?それがISO8601のようなあいまいでないフォーマットや分離されていない日付フォーマットでない限り、使用するフォーマット/ロケールを指定する必要があります –

答えて

2

一括挿入しようとしているレコードの1つ以上に有効な日付が含まれていない可能性があります。時にはこれはあまり一般的でない日付形式を使用した結果であり、良い日付のように見えるかもしれません。一部の国では、その日の代わりに月が最初に置かれ、バルク挿入を混乱させる可能性があります。

日付が良い場合は、もう1つのことは、フォーマットファイルを使用することです。

-1

挿入されたときにデータを挿入しません。データはvarcharとして、後でDATETIMEとしてキャストします。

+0

不適切なタイプを使用することは非常に深刻なバグです。一括挿入が壊れていないそれは問題なく日付をインポートできます。 –