Foros del Web » Programación para mayores de 30 ;) » .NET »

Bulk Insert Error

Estas en el tema de Bulk Insert Error en el foro de .NET en Foros del Web. Hola a todos en el Foro, primero que nada gracias por tomarse el tiempo de leer mi duda y espero que alguien pueda ayudarme, ya ...
  #1 (permalink)  
Antiguo 16/02/2012, 10:47
 
Fecha de Ingreso: septiembre-2009
Mensajes: 66
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Bulk Insert Error

Hola a todos en el Foro, primero que nada gracias por tomarse el tiempo de leer mi duda y espero que alguien pueda ayudarme, ya revise en el buscador el tema y no vi nada que me sirva por lo que pongo mi duda para checar si alguien pudiera ayudarme!

Estoy intentando hacer una importancion masiva a una tabla de SQL Server 2005 pero el problema que tengo es que el archivo de datos no tiene un numero fijo de columnas por lo que esto me esta complicando muchisimo las cosas, esta son algunas filas que contine mi archivo de texto:

BSN*14*MAEU582066451*20111019*0319*0003~
HL*1**S~
TD5**2*MAEU*TA*MAERSK LINE AS**OR*57017~
TD5****TA***94*57017~


Como podran ver son muy diferente una de otra ya lo e intentado de distintas maneras y encontre una que mencionan que para importar informacion se tiene que crear un archivo en formato .fmt con el formato con el cual se va importar la informacion de cada columna pero aun asi me sigue marcando un error

El archivo fmt es el siguiente:

Cita:
9.0
8
1 SQLCHAR 0 35 "*" 1 field01 ""
2 SQLCHAR 0 35 "*" 2 field02 ""
3 SQLCHAR 0 35 "*" 3 field03 ""
4 SQLCHAR 0 35 "*" 4 field04 ""
5 SQLCHAR 0 35 "*" 5 field05 ""
6 SQLCHAR 0 35 "*" 6 field06 ""
7 SQLCHAR 0 35 "*" 7 field07 ""
8 SQLCHAR 0 35 "*" 8 field08 ""
9 SQLCHAR 0 35 "*" 9 field09 ""
10 SQLCHAR 0 35 "*" 10 field10 ""
11 SQLCHAR 0 35 "*" 11 field11 ""
12 SQLCHAR 0 35 "*" 12 field12 ""
13 SQLCHAR 0 35 "*" 13 field13 ""
14 SQLCHAR 0 35 "*" 14 field14 ""
15 SQLCHAR 0 35 "\r\n" 15 field15 ""
Y el error que me marca al ejecutar la consulta es:

Cita:
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 21, column 4 (field04).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 31, column 6 (field06).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 40, column 1 (field01).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 480, column 8 (field08).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 1002, column 7 (field07).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 1011, column 2 (field02).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 1342, column 7 (field07).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 1353, column 3 (field03).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 1361, column 6 (field06).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 1543, column 2 (field02).
Servidor: mensaje 4863, nivel 16, estado 1, línea 1
Bulk load data conversion error (truncation) for row 1548, column 1 (field01).
Servidor: mensaje 4865, nivel 16, estado 1, línea 1
Cannot bulk load because the maximum number of errors (10) was exceeded.
Servidor: mensaje 7399, nivel 16, estado 1, línea 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Servidor: mensaje 7330, nivel 16, estado 1, línea 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
y inclusive encontre una opcion que agregar a la sentencia y te genera un archivo TXT con los errores que marca al ejecutar tu codigo:

Cita:
Row 21 File Offset 850 ErrorFile Offset 0 - HRESULT 0x80004005
Row 31 File Offset 1376 ErrorFile Offset 123 - HRESULT 0x80004005
Row 40 File Offset 1724 ErrorFile Offset 228 - HRESULT 0x80004005
Row 480 File Offset 19348 ErrorFile Offset 342 - HRESULT 0x80004005
Row 1002 File Offset 40833 ErrorFile Offset 438 - HRESULT 0x80004005
Row 1011 File Offset 41205 ErrorFile Offset 564 - HRESULT 0x80004005
Row 1342 File Offset 55162 ErrorFile Offset 702 - HRESULT 0x80004005
Row 1353 File Offset 55689 ErrorFile Offset 780 - HRESULT 0x80004005
Row 1361 File Offset 56009 ErrorFile Offset 889 - HRESULT 0x80004005
Row 1543 File Offset 63768 ErrorFile Offset 1023 - HRESULT 0x80004005
Row 1548 File Offset 64003 ErrorFile Offset 1127 - HRESULT 0x80004005
Mi codigo es el siguiente:

Código:
BULK INSERT ISA1
   FROM '\\192.168.87.9\po\856.txt'    
   WITH ( DATAFILETYPE = 'char',
          FORMATFILE = '\\192.168.87.9\po\SkipColumn.fmt',
	  KEEPIDENTITY,
	  KEEPNULLS,
	  TABLOCK,
	  ERRORFILE = '\\192.168.87.9\po\errores.txt' )
Espero que alguien pudiera ayudarme a solucionar mi problema de antemano agredezco que se tomen el tiempo de leer mi duda, saludos a todos!

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:50.