テキスト ファイルの形式 (テキスト ファイル ドライバー)

ODBC テキスト ドライバーは、区切りテキスト ファイルと固定幅テキスト ファイルの両方をサポートしています。 テキスト ファイルは、オプションのヘッダー行と 0 行以上のテキスト行で構成します。

ヘッダー行はテキスト ファイル内の他の行と同じ形式を使用しますが、ODBC Text ドライバーは、ヘッダー行のエントリをデータではなく列名として解釈します。

区切りテキスト行には、区切り記号 (コンマ、タブ、またはカスタム区切り記号) で区切られた 1 つ以上のデータ値が含まれます。 ファイル全体で同じ区切り記号を使用する必要があります。 Null データ値は、行内の 2 つの区切り記号で示され、その間にデータはありません。 区切りテキスト行の文字列は、二重引用符 ("") で囲むことができます。 区切り値の前または後に空白を挿入できません。

固定幅テキスト行の各データ エントリの幅は、スキーマで指定されます。 Null データ値は空白で示されます。

テーブルは最大 255 個のフィールドに制限されています。 フィールド名は 64 文字に制限され、フィールドの幅は 32,766 文字に制限されます。 レコードは 65,000 バイトに制限されています。

テキスト ファイルは、1 人のユーザーに対してのみ開くことができます。 複数のユーザーはサポートされていません。

プログラマ向けに記述された次の文法では、ODBC テキスト ドライバーで読み取ることができるテキスト ファイルの形式を定義します:

形式 [表記]
非斜体 次のように入力する必要がある文字
斜体 文法の他の場所で定義されている引数
カッコ ([]) 省略可能な項目
カッコ ({}) 相互に排他的な選択肢の一覧
縦棒(|) 相互に排他的な選択肢を分離します
省略記号(...) 1 回以上繰り返すことができる項目

テキスト ファイルの形式:

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  

Note

固定幅テキスト ファイル内の各列の幅は、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  

Note

カスタム区切りテキスト ファイル内の区切り記号は、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 ::=  

Note

区切り記号付きファイルの場合、NULL は 2 つの区切り記号間のデータなしで表します。

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

Note

固定幅ファイルの場合、NULL はスペースで表します。