BULK INSERT con archivo de formato

25/03/2010 - 17:04 por DarioA | Informe spam
Amigos. Tengo la siguiente tabla en el servidor SQL 2005.
CREATE TABLE dbo.acontlab(
WCLOT numeric(8, 0) NOT NULL,
WCFEC numeric(8, 0) NOT NULL,
WCHOR numeric(8, 0) NOT NULL,
WCUSU varchar(10) NOT NULL)


Quiero importar un archivo plano de texto sin delimitadores con nombre
ACONTLAB.TXT. Pongo los primeros registros como ejemplo para que puedan
darse una idea:
000000012003012809350681JOSE
000000022003012907342126HUGOSER
000000032003013007264604HUGOSER


Además, confeccioné el siguiente archivo de formato con nombre
ACONTLAB.FMT:
7.0
4
1 SQLNUMERIC 0 8 "" 1
WCLOT
2 SQLNUMERIC 0 8 "" 2
WCFEC
3 SQLNUMERIC 0 8 "" 3
WCHOR
4 SQLCHAR 0 10 "" 4
WCUSU


Luego ejecuto la siguiente sentencias desde Management Studio:
Bulk insert dbo.acontlab
from 'M:\borrar\acontlab.txt'
With (formatfile = 'M:\borrar\acontlab.fmt')

Al ejecutar, me arroja el siguiente mensaje de error:
Mens. 9803, Nivel 16, Estado 1, Línea 1
Datos no válidos para el tipo "numeric".
Se terminó la instrucción.


También probé cambiando SQLNUMERIC por SQLDECIMAL; obteniendo idéntico
resultado.

Agradezco cualquier ayuda que me puedan brindar.
 

Leer las respuestas

#1 David Ortega
06/04/2010 - 16:41 | Informe spam
Hola DarioA,

¿Cómo generas el archivo ACONTLAB.TXT? ¿lo generas desde una base de datos
ORACLE?

Un saludo.
David Ortega
MCTS SQL Server 2005
MAP 2010


"DarioA" wrote:

Amigos. Tengo la siguiente tabla en el servidor SQL 2005.
CREATE TABLE dbo.acontlab(
WCLOT numeric(8, 0) NOT NULL,
WCFEC numeric(8, 0) NOT NULL,
WCHOR numeric(8, 0) NOT NULL,
WCUSU varchar(10) NOT NULL)


Quiero importar un archivo plano de texto sin delimitadores con nombre
ACONTLAB.TXT. Pongo los primeros registros como ejemplo para que puedan
darse una idea:
000000012003012809350681JOSE
000000022003012907342126HUGOSER
000000032003013007264604HUGOSER


Además, confeccioné el siguiente archivo de formato con nombre
ACONTLAB.FMT:
7.0
4
1 SQLNUMERIC 0 8 "" 1
WCLOT
2 SQLNUMERIC 0 8 "" 2
WCFEC
3 SQLNUMERIC 0 8 "" 3
WCHOR
4 SQLCHAR 0 10 "" 4
WCUSU


Luego ejecuto la siguiente sentencias desde Management Studio:
Bulk insert dbo.acontlab
from 'M:\borrar\acontlab.txt'
With (formatfile = 'M:\borrar\acontlab.fmt')

Al ejecutar, me arroja el siguiente mensaje de error:
Mens. 9803, Nivel 16, Estado 1, Línea 1
Datos no válidos para el tipo "numeric".
Se terminó la instrucción.


También probé cambiando SQLNUMERIC por SQLDECIMAL; obteniendo idéntico
resultado.

Agradezco cualquier ayuda que me puedan brindar.
.

Preguntas similares