Bạn có thể sử dụng tệp định dạng không phải xml
để chỉ định một dấu phân tách khác nhau trên mỗi cột. Đối với các giá trị được đặt trong dấu ngoặc kép và được phân tách bằng các tab, dấu phân cách có thể là \",\"
. Bạn sẽ phải thêm một cột không sử dụng ban đầu để ghi lại câu trích dẫn đầu tiên. Ví dụ:để đọc tệp này:
"row1col1","row1col2","row1col3"
"row2col1","row2col2","row2col3"
"row3col1","row3col2","row3col3"
Bạn có thể sử dụng tệp định dạng này:
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 ""
(Số trên dòng đầu tiên phụ thuộc vào phiên bản SQL Server. Số trên dòng thứ hai là số cột để đọc. Đừng quên điều chỉnh nó .)
bulk insert
lệnh chấp nhận formatfile = 'format_file_path'
tham số nơi bạn có thể chỉ định tệp định dạng. Ví dụ:
BULK INSERT YourTable
FROM 'c:\test\test.csv'
WITH (FORMATFILE = 'c:\test\test.cfmt')
Điều này dẫn đến:
select * from YourTable
-->
col1 col2 col3
row1col1 row1col2 row1col3
row2col1 row2col2 row2col3
row3col1 row3col2 row3col3