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.
 

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.

Preguntas similares