2011-10-25 4 views
1

T-SQLの一括挿入用のbcp.fmtファイル(SSISよりも読みやすく、ユーザーが読みやすい)がありますが、私の宛先テーブルのDATETIMEカラムに相当するSQLCHAR(奇妙なことに、私はGoogleからの回答も得られません)。結果として、私はこのエラーが発生しています:T-SQL一括挿入用のBCP.FMTで正しいデータ型マーカーを検索します。

メッセージ4864、レベル16、状態1、行1 行1、列4の一括読み込みデータ変換エラー(型の不一致または指定したコードページの無効な文字) ModifyDate)。

これは不合理なエラーではありませんmsg - 私は、同等のターゲットデータ型の参照を見つける必要がありますか? FMTから

抽出は以下ファイル:

4 SQLCHAR 0 8 ";" 4 ModifyDate SQL_Latin1_General_CP1_CI_AS

+0

おそらく、SQL Serverがmm/dd/yyyy形式であるのに対して、dd/mm/yyyyのファイルではdatetime形式の問題です。 – Mack

+0

あなたのソースデータはどこから来ますか? – Mack

+0

これはちょうどCSVファイルでした。 ';'、 \t ROWTERMINATOR = '\ n' は、 \t FIRSTROW \t( \t FIELDTERMINATOR = WITH: '\ DataFile.csv C' からの BULK INSERT dbo.StockLevelTMP :最後に、私は、フォーマットファイルを捨て= 2 \t) –

答えて

0

SQLCHARを使用しますが、入力に正しい日付形式を設定します。例えばSET DATEFORMAT dmy;

SET DATEFORMAT (Transact-SQL)

それとも、入力ファイルをコントロールしている場合、その後明確な入力のためのISO 8601形式を使用します。

関連する問題