Compartir vía


Formato de archivo de texto (controlador de archivo de texto)

El controlador odbc Text admite archivos de texto delimitados y de ancho fijo. Un archivo de texto consta de una línea de encabezado opcional y cero o más líneas de texto.

Aunque la línea de encabezado usa el mismo formato que las otras líneas del archivo de texto, el controlador odbc Text interpreta las entradas de línea de encabezado como nombres de columna, no datos.

Una línea de texto delimitada contiene uno o varios valores de datos separados por delimitadores: comas, tabulaciones o delimitador personalizado. El mismo delimitador debe usarse en todo el archivo. Los valores de datos NULL se indican mediante dos delimitadores en una fila sin datos entre ellos. Las cadenas de caracteres de una línea de texto delimitada se pueden incluir entre comillas dobles (""). No se pueden producir espacios en blanco antes o después de los valores delimitados.

El ancho de cada entrada de datos en una línea de texto de ancho fijo se especifica en un esquema. Los valores de datos NULL se denotan mediante espacios en blanco.

Las tablas están limitadas a un máximo de 255 campos. Los nombres de campo están limitados a 64 caracteres y los anchos de campo están limitados a 32 766 caracteres. Los registros están limitados a 65 000 bytes.

Un archivo de texto solo se puede abrir para un solo usuario. No se admiten varios usuarios.

La gramática siguiente, escrita para programadores, define el formato de un archivo de texto que el controlador de texto ODBC puede leer:

Formato Representación
No cursiva Caracteres que se deben escribir como se muestra
Cursiva Argumentos definidos en otra parte de la gramática
corchetes ([]) Elementos opcionales
llaves ({}) Una lista de opciones mutuamente excluyentes
barras verticales (|) Separar las opciones mutuamente excluyentes
puntos suspensivos (...) Elementos que se pueden repetir una o varias veces

El formato de un archivo de texto es:

text-file ::=  
   [delimited-header-line] [delimited-text-line]... end-of-file |  
   [fixed-width-header-line] [fixed-width-text-line]... end-of-file  
delimited-header-line ::= delimited-text-line  
delimited-text-line ::=  
   blank-line |  
   delimited-data [delimiter delimited-data]... end-of-line  
fixed-width-header-line ::= fixed-width-text-line  
fixed-width-text-line ::=  
   blank-line |  
   fixed-width-data [fixed-width-data]... end-of-line  
end-of-file ::= <EOF>  
blank-line ::= end-of-line  
delimited-data ::= delimited-string | number | date | delimited-null  
fixed-width-data ::= fixed-width-string | number | date | fixed-width-null  

Nota

El ancho de cada columna en un archivo de texto de ancho fijo se especifica en el archivo Schema.ini.

  
      end-of-line ::= <CR> | <LF> | <CR><LF>  
delimited-string ::= unquoted-string | quoted-stringunquoted-string ::= [character | digit] [character | digit | quote-character]...  
quoted-string ::=  
   quote-character  
   [character | digit | delimiter | end-of-line | embedded-quoted-string]...  
   quote-characterembedded-quoted-string ::=   quote-characterquote-character  
   [character | digit | delimiter | end-of-line]  
   quote-characterquote-characterfixed-width-string ::= [character | digit | delimiter | quote-character] ...  
character ::= any character except:  
   delimiterdigitend-of-fileend-of-linequote-characterdigit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9  
delimiter ::= , | <TAB> |   
custom-delimitercustom-delimiter ::= any character except:  
   end-of-fileend-of-linequote-character  

Nota

El delimitador de un archivo de texto delimitado personalizado se especifica en el archivo Schema.ini.

quote-character ::= "  
number ::= exact-number | approximate-number  
exact-number ::= [+ | -] {unsigned-integer[.unsigned-integer] |  
   unsigned-integer. |  
   .unsigned-integer}  
approximate-number ::= exact-number{e | E}[+ | -]unsigned-integer  
unsigned-integer ::= {digit}...  
date ::=  
   mm date-separator dd date-separator yy |  
   mmm date-separator dd date-separator yy |  
   dd date-separator mmm date-separator yy |  
   yyyy date-separator mm date-separator dd |  
   yyyy date-separator mmm date-separator dd  
mm ::= digit [digit]  
dd ::= digit [digit]  
yy ::= digit digit  
yyyy ::= digit digit digit digit  
mmm ::= Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec  
date-separator ::= - | / | .  
delimited-null ::=  

Nota

En el caso de los archivos delimitados, un valor NULL se representa sin datos entre dos delimitadores.

fixed-width-null ::= <SPACE>...  

Nota

En el caso de los archivos de ancho fijo, un valor NULL se representa mediante espacios.