大きな CSV ファイルを SQL サーバーにインポートする必要があります。私はこれを使用しています:
BULK
INSERT CSVTest
FROM 'c:\csvfile.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
問題は、すべてのフィールドが引用符 (" ") で囲まれているため、行は実際には次のようになります。
"1","","2","","sometimes with comma , inside", ""
どうにかしてそれらを一括インポートし、引用符をフィールド区切り記号として使用するように SQL に指示できますか?
編集: '","' を区切り文字として使用する際の問題は、提案されている例のように: ほとんどの例では、最初の " を最初の列に、最後の " を最後の列に含むデータをインポートし、先に進んでそれを取り除いてください。悲しいかな、最初の (そして最後の) 列は datetime であり、"20080902 を datetime としてインポートすることはできません。
私が読んだことから、FORMATFILEが道だと思いますが、ドキュメント(MSDNを含む)はひどく役に立ちません。