SQL Server bcp コマンドでフォーマット ファイルを利用する方法

SQL Serverbcp コマンドには、既存のテーブル情報をもとに、フォーマット ファイルを自動生成してくれる機能があります。たとえば、次のようにインポート先のテーブルとインポートしたいデータがあるとします。

-- インポート先のテーブル
USE sampleDB
CREATE TABLE t1
( a int
 ,b char(10) )

-- インポートしたいデータ(C:\bulkTest1.csv)
1,AAA
2,BBB
3,CCC

この場合に、bcp コマンドをコマンド プロンプトから次のように実行すると、フォーマット ファイルを自動生成してくれます。

bcp sampleDB.dbo.t1 format nul -T -c -t "," -f C:\test.fmt 

自動生成されたフォーマット ファイル(カンマ区切りの CSV ファイル用)

このように bcp コマンドでは、format nul-f オプションでフォーマット ファイルを生成することができます。

このフォーマット ファイルを利用して、bcp コマンドでデータをインポートするには、次のように実行します。

なお、データが二重引用符(”)で囲まれている場合のフォーマット ファイルの作成方法は、別途投稿します。