BULK INSERT

10/09/2003 - 18:12 por david arias | Informe spam
Quiero cargar la informacion de un archivo de texto en mi
base de datos. En el archivo de texto los campos se
indican por posiciones, es decir. de la posición 1 al 5 es
el código, de la posición 6 al 45 es el nombre., etc.
Quisiera saber si hay una opción en la sentencia BULK
INSERT para indicar las posiciones. Gracias por su ayuda.

Preguntas similare

Leer las respuestas

#1 Isaías
10/09/2003 - 19:46 | Informe spam
Hola

Si existe forma de indicarle las posiciones e incluso el
caracter que separa las columnas, agregue:

BULK INSERT #FTP_RECORDS_INPUT FROM 'MIARCHIVO.TXT'
WITH (FORMATFILE = 'E:\MyFormato.TXT'

El contenido del archivo MyFormato.txt debe ser algo asi:



8.0
3
1 SQLCHAR 0 6 '!' 1 cCodigo
SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 10 '!' 2 cNombre
SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 12 '' 3 cImporte
SQL_Latin1_General_CP1_CI_AS


El separador de columnas es !, el 8.0 significa la version
de SQL (2000), 3 es el numero de columnas y lo demas esta
explicito.

Espero le sirva.
Respuesta Responder a este mensaje
#2 david arias
10/09/2003 - 19:59 | Informe spam
ok gracias pero no entiendo algo. Yo no poseo caracter
separador de columnasque pondria en este caso ???un
espacio en blanco?? o que pondria??.. sqlchar es el tipo
de dato??...y un pregunta mas...tu pones de 0 a 6, de 0 a
10, de 0 a 12pero no seria asi: de 0 a 6, de 7 a 10,de
11 a 12???. Gracias.

Hola

Si existe forma de indicarle las posiciones e incluso el
caracter que separa las columnas, agregue:

BULK INSERT #FTP_RECORDS_INPUT FROM 'MIARCHIVO.TXT'
WITH (FORMATFILE = 'E:\MyFormato.TXT'

El contenido del archivo MyFormato.txt debe ser algo asi:



8.0
3
1 SQLCHAR 0 6 '!' 1 cCodigo
SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 10 '!' 2 cNombre
SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 12 '' 3 cImporte
SQL_Latin1_General_CP1_CI_AS


El separador de columnas es !, el 8.0 significa la


version
de SQL (2000), 3 es el numero de columnas y lo demas esta
explicito.

Espero le sirva.


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida