Condividi tramite


Formato file di testo (driver file di testo)

Il driver di testo ODBC supporta file di testo delimitati e a larghezza fissa. Un file di testo è costituito da una riga di intestazione facoltativa e da zero o più righe di testo.

Anche se la riga di intestazione usa lo stesso formato delle altre righe nel file di testo, il driver di testo ODBC interpreta le voci della riga di intestazione come nomi di colonna, non dati.

Una riga di testo delimitata contiene uno o più valori di dati separati da delimitatori: virgole, schede o delimitatore personalizzato. Lo stesso delimitatore deve essere usato in tutto il file. I valori dati Null vengono denotati da due delimitatori in una riga senza dati tra di essi. Le stringhe di caratteri in una riga di testo delimitata possono essere racchiuse tra virgolette doppie (""). Non possono verificarsi spazi vuoti prima o dopo i valori delimitati.

La larghezza di ogni voce di dati in una riga di testo a larghezza fissa viene specificata in uno schema. I valori di dati Null vengono denotati da spazi vuoti.

Le tabelle sono limitate a un massimo di 255 campi. I nomi dei campi sono limitati a 64 caratteri e le larghezze dei campi sono limitate a 32.766 caratteri. I record sono limitati a 65.000 byte.

Un file di testo può essere aperto solo per un singolo utente. Più utenti non sono supportati.

La grammatica seguente, scritta per i programmatori, definisce il formato di un file di testo che può essere letto dal driver di testo ODBC:

Formato Rappresentazione
Corsivo non corsivo Caratteri che devono essere immessi come illustrato
Corsivo Argomenti definiti altrove nella grammatica
parentesi quadre ([]) Elementi facoltativi
parentesi graffe ({}) Elenco di scelte reciprocamente esclusive
barre verticali (|) Separare le scelte reciprocamente esclusive
puntini di sospensione (...) Elementi che possono essere ripetuti uno o più volte

Il formato di un file di testo è:

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

La larghezza di ogni colonna in un file di testo a larghezza fissa viene specificata nel file di 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

Il delimitatore in un file di testo delimitato personalizzato viene specificato nel file 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

Per i file delimitati, un valore NULL è rappresentato da nessun dato tra due delimitatori.

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

Nota

Per i file a larghezza fissa, un valore NULL è rappresentato da spazi.