Freigeben über


Textdateiformat (Textdateitreiber)

Der ODBC-Texttreiber unterstützt Textdateien mit Trennzeichen und Textdateien mit fester Breite. Eine Textdatei besteht aus einer optionalen Kopfzeile und null oder mehr Textzeilen.

Obwohl die Kopfzeile dasselbe Format wie die anderen Zeilen in der Textdatei verwendet, interpretiert der ODBC-Texttreiber die Kopfzeileneinträge als Spaltennamen und nicht als Daten.

Eine durch Trennzeichen getrennte Textzeile enthält einen oder mehrere Durch Trennzeichen getrennte Datenwerte: Kommas, Tabstopps oder ein benutzerdefiniertes Trennzeichen. Dasselbe Trennzeichen muss in der gesamten Datei verwendet werden. Null-Datenwerte werden durch zwei Trennzeichen in einer Zeile ohne Daten dazwischen gekennzeichnet. Zeichenzeichenfolgen in einer durch Trennzeichen getrennten Textzeile können in doppelte Anführungszeichen ("") eingeschlossen werden. Es können keine Leerzeichen vor oder nach getrennten Werten auftreten.

Die Breite der einzelnen Dateneingaben in einer Textzeile mit fester Breite wird in einem Schema angegeben. Null-Datenwerte werden durch Leerzeichen gekennzeichnet.

Tabellen sind auf maximal 255 Felder beschränkt. Feldnamen sind auf 64 Zeichen beschränkt, und Feldbreiten sind auf 32.766 Zeichen beschränkt. Datensätze sind auf 65.000 Bytes beschränkt.

Eine Textdatei kann nur für einen einzelnen Benutzer geöffnet werden. Mehrere Benutzer werden nicht unterstützt.

Die folgende Grammatik, die für Programmierer geschrieben wurde, definiert das Format einer Textdatei, die vom ODBC-Texttreiber gelesen werden kann:

Format Repräsentation
Nicht kursiv Zeichen, die wie dargestellt eingegeben werden müssen
Kursivschrift Argumente, die an anderer Stelle in der Grammatik definiert sind
eckige Klammern ([]) Optionale Elemente
geschweifte Klammern ({}) Eine Liste der sich gegenseitig ausschließenden Auswahlmöglichkeiten
Vertikale Balken (|) Trennen sie sich gegenseitig ausschließende Entscheidungen
Auslassungspunkte (...) Elemente, die mindestens ein Mal wiederholt werden können

Das Format einer Textdatei lautet:

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  

Hinweis

Die Breite jeder Spalte in einer Textdatei mit fester Breite wird in der datei Schema.ini angegeben.

  
      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  

Hinweis

Das Trennzeichen in einer durch benutzerdefinierte Trennzeichen getrennten Textdatei wird in der Schema.ini-Datei angegeben.

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 ::=  

Hinweis

Bei durch Trennzeichen getrennten Dateien wird ein NULL-Wert durch keine Daten zwischen zwei Trennzeichen dargestellt.

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

Hinweis

Bei Dateien mit fester Breite wird ein NULL-Wert durch Leerzeichen dargestellt.