テキスト ファイルの形式は、スキーマ情報ファイルによって決定されます。 このファイルには、schema.iniという名前が付けられ、テキスト データ ソースと同じディレクトリに常時保存されます。また、固定長のデータにアクセスするために必要です。 テキスト テーブルにDateTime(日時)、Currency(通貨)、Decimal(10進数)のデータが含まれる場合は、schema.iniファイルを使用してください。使用しないと、テーブルのデータを処理する際に、追加のコントロールが常に必要になります。
作成する必要のあるテーブルの以下の5つの特性を指定するエントリでschema.iniファイルを作成します。
- テキスト ファイル名 - schema.iniファイルの最初のエントリは、大括弧で囲まれたテキスト ソース ファイルの名前にする必要があります。
- ファイル形式 - ファイル形式オプションでは、次のテーブルに示されているように、テキスト ファイル フィールドの区切り方または固定長形式を使用するファイルのフィールドの長さを指定します。すでに使用されている場合、schema.iniファイルのファイル形式の設定が、ファイルごとにWindowsレジストリーの設定を上書きします。
形式指定子 | 区切りの説明 | Format文の例 |
---|---|---|
Tab Delimited(タブ区切り) | ファイルのフィールドがタブで区切られます。 | Format=TabDelimited |
CSV Delimited(CSV区切り) | ファイルのフィールドがカンマで区切られます(カンマ区切り値)。 | Format=CSVDelimited |
Custom Delimited(カスタム区切り) | ファイルのフィールドがFormat文で指定された文字で区切られます。 二重引用符(")を除くすべての文字(空白文字も含む)を使用できます。 | Format=Delimited (custom character) |
Fixed Length(固定長) | ファイルのフィールドは固定長です。 | Format=FixedLength |
- フィールド名、幅、および型 - 次のいずれかの方法を実行して、文字区切りのテキスト ファイルのフィールド名を指定します。
- ColNameHeaderをTrueに設定し、テーブルの最初の行にフィールド名を格納します。
例えば、次のschema.iniファイルでは、ColNameHeaderがTrueに設定され、列の定義と名前が保持されます。
[Text_In_Out.txt] ColNameHeader=True Format=Delimited(#) MaxScanRows=25 CharacterSet=ANSI
ColNameHeader設定は、FirstRowHasNames設定を上書きします。
- ColNameHeaderをFalseに設定し、番号で各列を指定し、列名、データ型、および固定長型の幅を設定します。
例えば、次のschema.iniファイルでは、ColNameHeaderがFalseに設定され、列が再定義されます。
[Text_In_Out.txt] Format=Delimited(#) ColNameHeader=False MaxScanRows=25 CharacterSet=ANSI Col1=SOR Char Width 255 Col2=ID_Integer Col3=CREATE_DT Date Col4=FREETEXT LongChar Col5=EOR Char Width 255
ColNameHeader設定は、FirstRowHasNames設定を上書きします。
- MaxScanRowsオプションを使用して、列の型を決める際にスキャンする行数を設定します。 MaxScanRowsをゼロに設定すると、ファイル全体がスキャンされます。
schema.iniファイルのMaxScanRows設定は、ファイルごとに設定を上書きします。
- 列番号(Coln)オプションを使用します。このオプションは、固定長のファイルの場合は必須です。文字区切りのファイルの場合は任意選択です。
Coln=ColumnName type [width #]
次のテーブルは、Coln文の各部分を説明しています。 次の例は、schema.iniエントリの2つのフィールドを示しています。 行形式の5番目と6番目のフィールドには、テキスト フィールドで幅が10のPartNameとテキスト フィールドで幅が30のPartNumberがそれぞれ設定されます。
Col[5]=PartNumber text width[10] Col[6]=PartName text width[30]
- ColNameHeaderをTrueに設定し、テーブルの最初の行にフィールド名を格納します。
パラメータ | 説明 | |
---|---|---|
ColumnName | 列のテキスト名。 列名に空白文字が含まれる場合は、空白文字を二重引用符で囲んでください。 | |
type | Microsoft Jetデータ型
|
ODBCデータ型:
|
width | 列の幅を指定するリテラル文字列値(固定長のファイルに必須で、文字区切りのファイルでは任意選択)。 | |
# | 列の幅を指定する整数値。 widthを指定する場合に必須です。 |
- 文字セット – 2つの文字セット(ANSIとOEM)を使用できます。この設定を行なうと、Windowsレジストリの設定をオーバーライドします。次のコード サンプルは、文字セットをANSIに設定します。
CharacterSet=ANSI
- Currency(通貨)データの形式と変換 – 次のテーブルは、通貨データを書式化するための設定と有効な値を示しています。
エントリを省略すると、Windowsコントロール パネルのデフォルト値が使用されます。
データ形式 | 説明 |
---|---|
CurrencyDigits | 通貨金額の小数部分の桁数を指定します。 |
CurrencyDecimalSymbol | 通貨金額の整数と小数部分を区切る単一の文字を設定します。 |
CurrencyNegFormat | 次の値のいずれかを設定します。
これらの例では、記号値としてドル記号が使用されています。 CurrencySymbol形式を使用して、記号値を設定してください。
|
CurrencyPosFormat | 次の値のいずれかを設定します。
|
CurrencySymbol | テキスト ファイルの通貨値に使用される通貨記号を指定します。 |
CurrencyThousandSymbol | テキスト ファイルの通貨値を千の単位で区切る場合に使用される単一の文字記号を示します。 |
DateTimeFormat | すべての日時に使用される形式文字列を指定します。 設定すると、ロード ジョブまたはエクスポート ジョブのすべての日時フィールドは、同じ形式で処理されます。 指定しない場合、Windowsコントロール パネルの短い形式の日時オプションが使用されます。 A.M.およびP.M.を除くすべてのMicrosoft Jet形式がサポートされています。
|
DecimalSymbol | 整数と小数部分を区切るために使用される単一の文字を設定します。 |
NumberDigits | 小数部分の桁数を提供します。 |
NumberLeadingZeros | 1未満で-1以上の小数値の先頭にゼロを埋め込むかどうかを指定します。 有効な値は、False(先頭にゼロを付けない)またはTrue(先頭にゼロを挿入する)です。 |
schema.iniファイルの設定の詳細については、http://msdn.microsoft.comにアクセスしてください。