2011-10-29 32 views
5

Estoy tratando de insertar los datos de este enlace a mi servidor SQL https://www.ian.com/affiliatecenter/include/V2/CityCoordinatesList.zipProblema con mayor insertar

he creado la tabla

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

Y estoy ejecutando la siguiente secuencia de comandos para hacer la inserción masiva

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

Pero la inserción masiva falla con el error siguiente

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

Cuando googleé, encontré varios artículos que dicen que el problema puede estar con RowTerminator, pero probé todo como/n/r,/n etc., pero nada está funcionando.

¿Alguien podría ayudarme a insertar estos datos en mi base de datos?

Respuesta

27

Pruebe ROWTERMINATOR = '0x0a'. debería funcionar.

+0

¡Impresionante! eso hizo el truco. ¿Puedes explicarme esto '0x0a'? Gracias. –

+0

'0x0a' es el valor hexadecimal para el carácter ASCII "nueva línea" - No estoy seguro de qué funcionó y \ n (también "nueva línea") aunque ... – Nathan

-2

necesita ejecutar BULK INSERT - comando desde el inicio de sesión de Windows (no desde SQL). Ahora no tengo ningún ejemplo

+1

debe dar ejemplos con sus respuestas. Gracias. – Hazonko

+0

BULK INSERT funciona bien desde SQL Operations Studio – Loke

Cuestiones relacionadas