2010-01-28 9 views
8

Tôi đang thực hiện một CH BN BULK vào bảng bằng tệp định dạng FMT, nhưng tôi gặp lỗi sau :Tại sao tôi nhận được "phân tích cú pháp XML: dòng 2, ký tự 0, cú pháp tài liệu không chính xác" khi Chèn số lượng lớn vào MS SQL Server

XML parsing: line 2, character 0, incorrect document syntax 

đây là mã của tôi

BULK INSERT [DM_Flux].[dbo].[Stage] FROM 'C:\temp\data.dat' 
WITH (FORMATFILE = 'C:\temp\FormatBcp.fmt') 

đây là formatfile (file định dạng chuẩn, không XML):

10.0 
5 
1 SQLCHAR 0 2 "" 1 Id "" 
2 SQLCHAR 0 40 "" 2 Name "" 
3 SQLCHAR 0 50 "" 3 Street "" 
4 SQLCHAR 0 8 "" 4 StreetNo "" 
5 SQLCHAR 0 300 "\r\n" 7 BulkData "" 

Tại sao tôi gặp lỗi XML với điều này?

Trả lời

3

Nếu tệp định dạng được mã hóa dưới dạng Unicode, chèn hàng loạt sẽ tự động nghĩ rằng đó là tệp XML và xử lý tệp đó như vậy. Đảm bảo tệp được mã hóa là ANSI và bạn sẽ ổn.

+0

Tôi gặp lỗi tương tự. và tệp là _already_ ** ANSI **. – inon

8

Ngoài ra một điểm chỉ trong trường hợp bất cứ ai khác chạy vào này ...

Nếu bạn chắc chắn tập tin là ANSI nhưng vẫn nhận được lỗi này kiểm tra dòng đầu tiên của tập tin định dạng (số phiên bản). Số phiên bản phải khớp với số phiên bản SQL của bạn (hoặc là số phiên bản cũ hơn).

MSDN reference:

The version of the bcp utility (Bcp.exe) used to read a format file must be the same as, or a later version than was used to create the format file. For example, SQL Server 2008 bcp can read a version 9.0 format file, which is generated by SQL Server 2005 bcp, but SQL Server 2005 bcp cannot read a version 10.0 format file, which is generated by SQL Server 2008 bcp.

6

Cách tốt nhất để đảm bảo rằng các máy chủ MS SQL không phải là thất bại trong việc đọc các định dạng phiên bản, hạ cấp số phiên bản trong file .FMT. Thay đổi V10.0 thành 9.0 trở xuống. MS SQL 2008 có thể đọc phiên bản thấp hơn nhưng 2005 không thể đọc phiên bản cao hơn. Vì vậy, hạ cấp số phiên bản có thể giúp giải quyết vấn đề.

Version số tiện ích BCP:

9.0 = SQL Server 2005 
10.0 = SQL Server 2008 
11.0 = SQL Server 2012 

Đối với tập tin định dạng XML phi bạn có thể tham khảo các trang Microsoft: http://msdn.microsoft.com/en-us/library/ms191479.aspx.

Các vấn đề liên quan