ファイルとフォーマットファイル.csv
を参照するSQL Server 2014とBULK INSERT
コマンドを使用しています。私はすべてのフィールド(列ヘッダーを含む)がデータフォーマットがわずかに変更され、最初の列のheade randデータが二重引用符で囲まれず、フォーマットファイルを作成する際に問題が発生する前に、このsuccessfulyを実行しました。CSV形式ファイルと二重引用符でBULK INSERTを使用する場合の問題
例データ...
Number of Employees;"Employee - First Name (Key)";"Employee - Last Name (Key)";"Employee - E-Mail Address (Key)"
1;"Joe";"Bloggs";"[email protected]"
注、セミコロンがフィールドセパレータと最初の列ヘッダーとデータが全く引用符を持っていない、以下のすべてのヘッダとデータを行うと、実施例FMT
一致していますフォーマットファイル...
12.0
5
1 SQLCHAR 0 0 "\"" 0 "" ""
2 SQLCHAR 2 50 ";" 1 "Number of Employees" Latin1_General_CI_AS
3 SQLNCHAR 2 510 "\";\"" 2 "Employee First Name" Latin1_General_CI_AS
4 SQLNCHAR 2 510 "\";\"" 3 "Employee Last Name" Latin1_General_CI_AS
5 SQLNCHAR 2 510 "\"\r\n" 4 "E-Mail Address" Latin1_General_CI_AS
私は(最初の列の前と後に、取り外したダミーの列の最初の列にAを区切り順列のすべての種類を試してみましたBOVEは最新のもの)と、ファイル「\ MYPATH \ import_staff_dq.fmt」が不完全であるか、読み取ることができませんでしたので、私はまだ
は、バルクロードすることはできません...同じエラーメッセージが表示されます。オペレーティングシステムのエラーコード(null)。
ファイルは常に閉じます。
私は私が理解し、作成しやすいように、XML形式のファイルを見つけるシンプル
BULK INSERTが複雑なCSVファイル、改行や引用符で囲まれた文字列を持つ、すなわちファイルをサポートしていません。 。これはSQL Server 2017に入っています。これにはSSISを使用します。 SSMSの 'Import Data'ウィザードを使用してCSVデータをインポートし、再利用のためにSSISパッケージを保存することができます。最も一般的なシナリオは、インポートおよび変換にSSISを使用することです.bcpまたはBULK INSERT –
は、すべてのフィールドが二重引用符で囲まれていても正常に使用されていますが、対応する形式ファイル( 'fmt')で動作します。最初の列が引用符で囲まれていない上記のように動作します。 –