Campos de ancho fijo de inserción a granel

¿Cómo se especifican las longitudes de campo con el comando Insertar a granel?

Ejemplo: si tuviera una tabla llamada c: \ Temp \ TableA.txt y tuviera:

123ABC 456DEF 

Y tuve una mesa como:

 use tempdb CREATE TABLE TABLEA( Field1 char(3), Field2 char(3) ) BULK INSERT TableA FROM 'C:\Temp\TableA.txt' SELECT * FROM TableA 

Entonces, ¿cómo especificaría las longitudes para el Campo1 y el Campo2?

Creo que necesitas definir un archivo de formato

p.ej

 BULK INSERT TableA FROM 'C:\Temp\TableA.txt' WITH FORMATFILE = 'C:\Temp\Format.xml' SELECT * FROM TableA 

Para que eso funcione, sin embargo, necesitas un archivo de formato, obviamente.

Consulte aquí para obtener información general sobre cómo crear uno:

Crear un archivo de formato

En una suposición, al mirar el esquema , algo como esto podría hacerlo:

 < ?xml version="1.0"?>           

Querrá utilizar un archivo de formato con BULK INSERT . Algo como:

 9.0 2 1 SQLCHAR 0 03 "" 1 Field1 "" 2 SQLCHAR 0 03 "\r\n" 2 Field2 ""