2011-10-29 38 views
5

Tôi cố gắng để chèn dữ liệu từ liên kết này đến máy chủ SQL của tôi https://www.ian.com/affiliatecenter/include/V2/CityCoordinatesList.zipVấn đề với số lượng lớn chèn

Tôi tạo ra bảng

CREATE TABLE [dbo].[tblCityCoordinatesList](
    [RegionID] [int] NOT NULL, 
    [RegionName] [nvarchar](255) NULL, 
    [Coordinates] [nvarchar](4000) NULL 
) ON [PRIMARY] 

Và tôi chạy kịch bản sau đây để làm các việc chèn số lượng lớn

BULK INSERT tblCityCoordinatesList 
FROM 'C:\data\CityCoordinatesList.txt' 
WITH 
( 
    FIRSTROW = 2, 
    MAXERRORS = 0, 
    FIELDTERMINATOR = '|', 
    ROWTERMINATOR = '\n' 
) 

Nhưng chèn số lượng lớn không thành công với lỗi sau

Cannot obtain the required interface ("IID_IColumnsInfo") from OLE DB provider "BULK" for linked server "(null)". 

Khi tôi google, tôi tìm thấy một số bài báo cho biết vấn đề có thể xảy ra với RowTerminator, nhưng tôi đã thử mọi thứ như/n/r,/n v.v. nhưng không có gì hoạt động.

Có ai vui lòng giúp tôi chèn dữ liệu này vào cơ sở dữ liệu của mình không?

Trả lời

27

Hãy thử ROWTERMINATOR = '0x0a'. nó sẽ hoạt động.

+0

Tuyệt vời! đã làm được điều đó. Bạn có thể giải thích điều này '0x0a' không? cảm ơn. –

+0

'0x0a' là giá trị thập lục phân cho ký tự ASCII "dòng mới" - Tôi không chắc cái gì đã làm việc và \ n (cũng "dòng mới") không mặc dù ... – Nathan

-2

bạn cần chạy BULK INSERT - lệnh từ cửa sổ đăng nhập (không phải từ SQL). Bây giờ tôi không có bất kỳ ví dụ nào

+1

bạn nên cung cấp các ví dụ với câu trả lời của mình. Cảm ơn. – Hazonko

+0

BULK INSERT hoạt động tốt từ bên trong SQL Operations Studio – Loke

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