2011-10-29 17 views
5

Próbuję wstawić dane z tego linka do mojego serwera SQL https://www.ian.com/affiliatecenter/include/V2/CityCoordinatesList.zipProblem z luzem wstawić

Stworzyłem tabelę

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

I używam następujący skrypt zrobić BULK INSERT

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

Ale większość insert nie powiedzie się z następującym błędem

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

Kiedy znalazłem google, znalazłem kilka artykułów, które mówią, że problem może dotyczyć RowTerminatora, ale próbowałem wszystkiego jak/n/r,/n itp., Ale nic nie działa.

Czy ktoś mógłby mi pomóc wstawić te dane do mojej bazy danych?

Odpowiedz

27

Wypróbuj ROWTERMINATOR = '0x0a'. to powinno działać.

+0

Awesome! to wystarczyło. Czy możesz wyjaśnić to "0x0a"? dzięki. –

+0

'0x0a' jest szesnastkową wartością dla znaku ASCII "nowa linia" - nie jestem pewien co to działa i \ n (również "nowa linia") nie ... – Nathan

-2

potrzebujesz uruchomić BULK INSERT - polecenie z okna logowania (nie z SQL). Teraz nie mam żadnych przykładów.

+1

powinieneś podać przykłady z twoimi odpowiedziami. Dzięki. – Hazonko

+0

BULK INSERT działa dobrze z poziomu SQL Operations Studio – Loke

Powiązane problemy