SQL Server - utilizar bulk copy

 
Vista:

utilizar bulk copy

Publicado por achafio (17 intervenciones) el 28/12/2011 20:02:06
De antemanos muchas gracias por su ayuda.

Estoy intentado insertar datos de un archivo txt a una tabla el cual está separado por | y contiene 4 columnas, pero me sale el siguiente mensaje de error:

Bulk load data conversion error (truncation) for row 1, column 4 (resolucion).

El script que estoy utilizando es:
BULK INSERT tmp_tabla FROM 'C:\Directorio1\Directorio11\archivo_TXT.txt' WITH( FIELDTERMINATOR ='|',ROWTERMINATOR ='|\n')


La estructura de la tabla es

ruc varchar(16)
razon varchar(250)
fecha varchar(20)
resolucion varchar(255)

El contenido del archivo es:

Ruc|Nombre/Razon|A partir del|Resolucion|
12345678901|ABRIXIS COMB.& DER. S.R.L.|01/10/2007|RS R.S.164-2007|
98765412345|EMPRESA COMERCIALIZADORA DE GAS SAC|18/09/2002|RS -|
95135748962|TERCOS COMBUSTIBLES S.A.C.|18/09/2002|RS -|

Quedo a la espera de su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

utilizar bulk copy

Publicado por achafio (17 intervenciones) el 28/12/2011 20:43:48
analizando un poco mas este caso, el SQL está considerando al contenido (valores de cada cabecera) como una columna mas. adicione a la tabla una columna mas y lo puse como text, y procedi a generar el bulk copy y me grabo todo en un solo campo concatenado,es decir, el valor "Ruc" en la primera columna, el valor "Nombre/Razon" en la segunda columna, el valor "A partir del" en la tercera columna, el valor "Resolucion" en la cuarta columna (hasta ahi todo bien) y el resto lo grabó en una quinta columna (esto esta mal ya que debe grabarla en la siguiente fila).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de i
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

utilizar bulk copy

Publicado por i (4558 intervenciones) el 28/12/2011 22:51:13
Existe un parametro en BULKINSERT, que te permite "saltar" el primer renglon de encabezados, intentalo por ahi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

utilizar bulk copy

Publicado por Isaias (4558 intervenciones) el 28/12/2011 22:54:33
La opcion que te comento, es para indicarle, CUAL SERA TU PRIMER REGISTRO

FIRSTROW = first_row
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar