一括挿入用のテキスト修飾子を実装するには、「フォーマットファイル」を使用する必要があります。基本的に、各フィールドに異なる区切り文字が存在する可能性があることをバルクインサートに教える必要があります。
「level_2.fmt」というテキストファイルを作成して保存します。
11.0
2
1 SQLCHAR 0 8000 "\"," 1 wkt SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 40 "\r\n" 2 area SQL_Latin1_General_CP1_CI_AS
最初の行「11.0」は、SQLのバージョンを示しています。 2行目は、テーブル[level2_import]に2つの列があることを示しています。その後の各行は列を記述し、次の形式に従います。
[ソース列番号][データ型][最小サイズ][最大サイズ][区切り文字パターン][宛先列番号][宛先列名][データベースの大文字と小文字の区別]
そのファイルを作成したら、次の一括挿入ステートメントを使用してデータを読み込むことができます。
BULK INSERT level2_import
FROM 'D:\test.csv'
WITH
(
FIRSTROW = 2,
FORMATFILE='D:\level_2.fmt'
);
フォーマットファイルの詳細な説明については、このブログを参照してください。