Anda dapat menggunakan file format non-xml
untuk menentukan pembatas yang berbeda per kolom. Untuk nilai yang diapit dengan tanda kutip ganda, dan dibatasi oleh tab, pembatasnya bisa berupa \",\"
. Anda harus menambahkan kolom awal yang tidak digunakan untuk menangkap kutipan pertama. Misalnya, untuk membaca file ini:
"row1col1","row1col2","row1col3"
"row2col1","row2col2","row2col3"
"row3col1","row3col2","row3col3"
Anda dapat menggunakan file format ini:
10.0
4
1 SQLCHAR 0 50 "\"" 0 unused ""
2 SQLCHAR 0 50 "\",\"" 1 col1 ""
3 SQLCHAR 0 50 "\",\"" 2 col2 ""
4 SQLCHAR 0 50 "\"\r\n" 3 col3 ""
(Angka pada baris pertama tergantung pada versi SQL Server. Angka pada baris kedua adalah jumlah kolom yang harus dibaca. Jangan lupa untuk menyesuaikannya .)
bulk insert
perintah menerima formatfile = 'format_file_path'
parameter di mana Anda dapat menentukan format file. Misalnya:
BULK INSERT YourTable
FROM 'c:\test\test.csv'
WITH (FORMATFILE = 'c:\test\test.cfmt')
Ini menghasilkan:
select * from YourTable
-->
col1 col2 col3
row1col1 row1col2 row1col3
row2col1 row2col2 row2col3
row3col1 row3col2 row3col3