Tôi đang cố gắng tải một lượng lớn dữ liệu trong máy chủ SQL từ một tệp phẳng bằng BULK INSERT. Tuy nhiên, tệp của tôi có số lượng cột khác nhau, ví dụ hàng đầu tiên chứa 14 và cột thứ hai chứa 4. Đó là OK, tôi chỉ muốn tạo một bảng với số cột tối đa và tải tệp vào đó bằng NULL cho thiếu cột. Tôi có thể chơi với nó từ thời điểm đó. Nhưng có vẻ như SQL Server, khi đến cuối dòng và có nhiều cột để điền vào cùng hàng đó trong bảng đích, chỉ cần chuyển sang dòng tiếp theo và cố gắng đặt dữ liệu trên dòng đó vào cột sai của cai ban.BULK INSERT với số lượng cột không nhất quán
Có cách nào để có được hành vi mà tôi đang tìm kiếm không? Có một tùy chọn mà tôi có thể sử dụng để xác định điều này? Có ai chạy vào điều này trước đây không?
Đây là mã
BULK INSERT #t
FROM '<path to file>'
WITH
(
DATAFILETYPE = 'char',
KEEPNULLS,
FIELDTERMINATOR = '#'
)
Đơn giản chỉ cần sẽ không làm việc với số cột khác nhau – gbn