テキスト データ ソース ドライバと HTML データ ソース ドライバの初期化

テキスト データ ソースと HTML データ ソースには、同じデータベース ドライバが使用されます。

テキスト データ ソース データベース ドライバをインストールすると、セットアップ プログラムは Microsoft® Windows® レジストリの Engines サブキーと ISAM Formats サブキーに一連の既定値を書き込みます。これらの設定は直接変更しないでください。これらの設定に対して追加、削除、変更を行う場合は、アプリケーションのセットアップ プログラムを使用します。テキスト データ ソース データベース ドライバの初期設定と ISAM Format の設定に関する説明を、次に示します。

テキスト データ ソースの初期設定

Jet\4.0\Engines\Text キーには、テキスト データ ファイルへの外部アクセスに使用される Mstext35.dll ドライバの初期設定があります。通常、このキーのエントリの設定は次のようになっています。

win32=<path>\Mstext40.dll

MaxScanRows=25

FirstRowHasNames=True

CharacterSet=ANSI

Format=CSVDelimited

Extensions= txt,csv,tab,asc

ExportCurrencySymbols=Yes

Microsoft Jet データベース エンジンは、Text キーの各エントリを次のように使用します。

エントリ 説明
win32 Mstext40.dll の格納場所です。このフル パスはインストール時に決まります。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では文字列型 (String)、Microsoft Windows NT 3.51 では REG_SZ 型です。
MaxScanRows 列のデータ型を推測する場合にスキャンする行の数です。0 に設定した場合はファイル全体が検索されます。既定値は 25 です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では DWORD 型、Microsoft Windows NT 3.51 では REG_DWORD 型です。
FirstRowHasNames テーブルの 1 行目に列名が含まれるかどうかを示すバイナリ値です。値 01 は、インポート時に列名が 1 行目に設定されることを示します。値 00 は、1 行目に列名が含まれないことを示します。既定値は 1 です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 ではバイナリ型 (Binary)、Microsoft Windows NT 3.51 では REG_BINARY 型です。
CharacterSet テキスト ページの格納方法を示すインジケータです。次のいずれかの設定が可能です。
  • ANSI - ANSI コード ページで格納します。AnsiToUnicode および UnicodeToAnsi による変換が行われます

  • OEM - OEM コード ページで格納されます。OemToUnicode および UnicodeToOem による変換が行われます。

  • Unicode - コード ページの変換は行われません。

  • <10 進数> - 特定の文字セットのコード ページ番号Unicode との変換が行われます。

既定値は ANSI です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では文字列型 (String)、Microsoft Windows NT 3.51 では REG_SZ 型です。

Format TabDelimited、CSVDelimited、Delimited (<単一文字>) のいずれかを指定できます。Delimited 書式中の単一文字区切り記号には、ダブル クォーテーション (") 以外の任意の文字を指定できます。既定値は CSVDelimited です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では文字列型 (String)、Microsoft Windows NT 3.51 では REG_SZ 型です。
Extensions テキスト ベースのデータを探す場合に参照されるファイルの拡張子です。既定値は、txt、csv、tab、asc です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 では文字列型 (String)、Microsoft Windows NT 3.51 では REG_SZ 型です。
ExportCurrencySymbols 通貨フィールドをエクスポートする場合に適切な通貨記号を追加するかどうかを示すバイナリ値です。値 01 は通貨記号を追加することを示し、値 00 は数値データのみをエクスポートすることを示します。既定値は 1 です。値の型は、Microsoft Windows 95 および Microsoft Windows NT 4.0 ではバイナリ型 (Binary)、Microsoft Windows NT 3.51 では REG_BINARY 型です。

テキスト データ ソースの ISAM Formats

Jet\4.0\ISAM Formats\Text キーには次のエントリがあります。



エントリ名

Microsoft Windows NT 3.51
でのデータ型
Microsoft Windows 95
および
Microsoft Windows NT 4.0
でのデータ型


Engine REG_SZ 型 文字列型 (String) Text
ExportFilter REG_SZ 型 文字列型 (String) テキスト ファイル (*.txt、*.csv、*.tab、*.asc)
ImportFilter REG_SZ 型 文字列型 (String) テキスト ファイル (*.txt、*.csv、*.tab、*.asc)
CanLink REG_BINARY 型 バイナリ型 (Binary) 01
OneTablePerFile REG_BINARY 型 バイナリ型 (Binary) 01
IsamType REG_DWORD 型 DWORD 型 2
IndexDialog REG_BINARY 型 バイナリ型 (Binary) 00
CreateDBOnExport REG_BINARY 型 バイナリ型 (Binary) 00
ResultTextImport REG_SZ 型 文字列型 (String) 外部ファイルのデータをカレント データベースにインポートします。カレント データベースのデータを変更しても、外部ファイルのデータは変更されません。
ResultTextLink REG_SZ 型 文字列型 (String) カレント データベースに外部ファイルとリンクされているテーブルを作成します。カレント データベースのデータを変更すると、外部ファイルのデータも変更されます。
ResultTextExport REG_SZ 型 文字列型 (String) カレント データベースから テキスト ファイルにデータをエクスポートします。これにより、既存のファイルのデータは、上書きされます。
SupportsLongNames REG_BINARY 型 バイナリ型 (Binary) 01


メモ Windows レジストリの設定を変更した場合は、新しい設定内容を有効にするために必ずデータベース エンジンをいったん終了してから再起動してください。


HTML Import の ISAM Formats

Jet\4.0\ISAM Formats\HTML Import キーには次のエントリがあります。



エントリ名

Microsoft Windows NT 3.51
でのデータ型
Microsoft Windows 95
および
Microsoft Windows NT 4.0
でのデータ型


Engine REG_SZ 型 文字列型 (String) Text
ImportFilter REG_SZ 型 文字列型 (String) HTML ドキュメント (*.html、*.htm)
CanLink REG_BINARY 型 バイナリ型 (Binary) 01
OneTablePerFile REG_BINARY 型 バイナリ型 (Binary) 00
IsamType REG_DWORD 型 DWORD 型 2
IndexDialog REG_BINARY 型 バイナリ型 (Binary) 00
CreateDBOnExport REG_BINARY 型 バイナリ型 (Binary) 00
ResultTextImport REG_SZ 型 文字列型 (String) 外部ファイルのデータをカレント データベースにインポートします。カレント データベースのデータを変更しても、外部ファイルのデータは変更されません。
ResultTextLink REG_SZ 型 文字列型 (String) カレント データベースに外部ファイルとリンクされているテーブルを作成します。カレント データベースのデータを変更すると、外部ファイルのデータも変更されます。
SupportsLongNames REG_BINARY 型 バイナリ型 (Binary) 01


メモ Windows レジストリの設定を変更した場合は、新しい設定内容を有効にするために必ずデータベース エンジンをいったん終了してから再起動してください。


HTML Export ISAM Formats

Jet\4.0\ISAM Formats\HTML Export キーには次のエントリがあります。



エントリ名

Microsoft Windows NT 3.51
でのデータ型
Microsoft Windows 95
および
Microsoft Windows NT 4.0
でのデータ型


Engine REG_SZ 型 文字列型 (String) Text
ExportFilter REG_SZ 型 文字列型 (String) HTML ドキュメント (*.html、*.htm)
CanLink REG_BINARY 型 バイナリ型 (Binary) 00
OneTablePerFile REG_BINARY 型 バイナリ型 (Binary) 01
IsamType REG_DWORD 型 DWORD 型 2
IndexDialog REG_BINARY 型 バイナリ型 (Binary) 00
CreateDBOnExport REG_BINARY 型 バイナリ型 (Binary) 00
ResultTextExport REG_SZ 型 文字列型 (String) カレント データベースから テキスト ファイルにデータをエクスポートします。これにより、既存のファイルのデータは、上書きされます。
SupportsLongNames REG_BINARY 型 バイナリ型 (Binary) 01


メモ Windows レジストリの設定を変更した場合は、新しい設定内容を有効にするために必ずデータベース エンジンをいったん終了してから再起動してください。


テキスト データと HTML データのための Schema.ini ファイルのカスタマイズ

テキスト データと HTML データの読み取り、インポート、またはエクスポートを行うには、Schema.ini ファイルを作成してその中に Text ISAM 情報を追加する必要があります。Schema.ini には、テキスト ファイルの書式化方法、インポート時の読み取り方法、既定のファイルへのエクスポート書式などの、データ ソースの仕様が記述されています。次の例は、固定長のファイルである Filename.txt というファイルに対するレイアウトを示したものです。

[Filename.txt]

ColNameHeader=False

Format=FixedLength

FixedFormat=RaggedEdge

MaxScanRows=25

CharacterSet=OEM

Col1=columnname Char Width 24

Col2=columnname2 Date Width 9

Col3=columnname7 Float Width 10

Col4=columnname8 Integer Width 10

Col5=columnname9 LongChar Width 10

    

同様に、区切り記号付きファイルの書式は次のように指定します。

[Delimit.txt]

ColNameHeader=True

Format=Delimited()

MaxScanRows=0

CharacterSet=OEM

Col1=username char width 50

Col2=dateofbirth Date width 9

    

データを区切り記号付きテキスト ファイルにエクスポートする場合は、同様にそのファイルに対して次のような書式を指定します。

[Export:My Special Export]

ColNameHeader=True

Format=TabDelimited

MaxScanRows=25

CharacterSet=OEM

DateTimeFormat=mm.dd.yy.hh.mm.ss

CurrencySymbol=Dm

CurrencyPosFormat=0

CurrencyDigits=2

CurrencyNegFormat=0

CurrencyThousandSymbol=,

CurrencyDecimalSymbol=.

DecimalSymbol=,

NumberDigits=2

NumberLeadingZeros=0

TextDelimeter="

    

My Special Export の例では、特定のエクスポート オプションについて説明しています。接続時にはエクスポート オプションのバリエーションを指定できます。また、この最後の例は、接続時に必要に応じて渡すことのできるデータ ソース名 (DSN) にも対応しています。以上の 3 つの書式セクションは、すべて同じ .ini ファイルに追加できます。

Microsoft Jet データベース エンジンで使用される、Schema.ini のエントリを次に示します。

エントリ 説明
ColNameHeader データの最初のレコードを列名とすることを示す True、または False を設定できます。
Format TabDelimited、CSVDelimited、Delimited (<単一文字>)、FixedLength のいずれかを指定できます。Delimited ファイル書式中の区切り記号には、ダブル クォーテーション (") 以外の任意の 1 文字を指定できます。
FixedFormat Format で FixedLength を指定した場合、RaggedEdge または TrueFixedLength の設定ができます。RaggedEdge は、キャリッジ リターン文字で列を終えるようにします。

TrueFixedLength は、各列は指定の数の文字が求められます。また、キャリッジ リターン文字は、列の境界線上にはなく、フィールドに埋め込みであると仮定されます。

この設定がない場合、既定値は RaggedEdge です。

MaxScanRows 列のデータ型を推測する場合にスキャンする行の数です。0 に設定した場合はファイル全体が検索されます。
CharacterSet ソース ファイルの文字セットを示します。OEM、ANSI、UNICODE、または有効なコード ページの 10 進数の番号を設定します。
DateTimeFormat 日付および時刻を示す書式化文字列を設定できます。このエントリは、[インポート/エクスポート] のすべての "日付/時刻" フィールドが同じ書式で処理される場合に指定してください。AM および PM を除くすべての Microsoft Jet データベース エンジン書式がサポートされています。書式化文字列を省略した場合は、Windows コントロール パネルで設定されている [時刻] と [日付] の [短い形式] オプションが使用されます。
CurrencySymbol テキスト ファイルの通貨数値に使われる通貨記号を示します。ドル記号 ($) や Dm などがあります。このエントリを省略した場合は、Windows コントロール パネルの既定値が使用されます
CurrencyPosFormat 次のいずれかの値を設定できます。

空白のない通貨記号プレフィックス ($1)

空白のない通貨記号サフィックス (1$)

空白が 1 つある通貨記号プレフィックス ($ 1)

空白が 1 文字分ある通貨記号サフィックス (1 $)

このエントリを省略した場合は、Windows コントロール パネルの既定値が使用されます

CurrencyDigits 通貨値の小数部分の桁数を指定します。このエントリを省略した場合は、Windows コントロール パネルの既定値が使用されます
CurrencyNegFormat 次の値をいずれか 1 つ設定できます。

($1)

-$1

$-1

$1-

(1$)

-1$

1-$

1$-

-1 $

-$ 1

1 $-

$ 1-

$ -1

1- $

($ 1)

(1 $)

この例ではドル記号を使用していますが、実際のプログラムでは適切な CurrencySymbol 値に置き換えてください。このエントリを省略した場合は、Windows コントロール パネルの既定値が使用されます

CurrencyThousandSymbol テキスト ファイルの通貨値を 3 桁ごとに区切る場合に使用される 1 文字の記号を示します。このエントリを省略した場合は、Windows コントロール パネルの既定値が使用されます
CurrencyDecimalSymbol 通貨値の整数部分と小数部分とを区切るために使用される任意の 1 文字を設定できます。このエントリを省略した場合は、Windows コントロール パネルの既定値が使用されます
DecimalSymbol 数値の整数部分と小数部分とを区切るために使用される任意の 1 文字を設定できます。このエントリを省略した場合は、Windows コントロール パネルの既定値が使用されます
NumberDigits 数値の小数部分の桁数を示します。このエントリを省略した場合は、Windows コントロール パネルの既定値が使用されます
NumberLeadingZeros 1 より小さく -1 より大きい 10 進値の先頭に 0 を付けるかどうかを指定します。この値は 0 を付けない False または True のどちらかになります。
Col1, Col2, ... テキスト ファイルで読み取られる列を列挙します。このエントリの書式は次のようになります。

Coln=columnName type [Width #]

引数 columnName では、埋め込みスペース付きの列名は引用符で囲みます。

引数 type には、Bit、Byte、Short、Long、Decimal、Currency、Single、Double、DateTime、Binary、OLE、Text、Memo のいずれかを設定できます。

また、次の ODBC テキスト ドライバ型もサポートされています。

Char (Text に相当)
Float (Double に相当)
Integer (Short に相当)
LongChar (Memo に相当)
Date date format

メモ型 (Memo) の場合、Microsoft Access でアクティブにされる URL の列の指定に、追加の形式指定 [Attribute Hyperlink] を使用することができます。

10 進数型 (Decimal) の場合、追加の形式指定 [Scale #] または [Precision #] が使用できます。

TextDelimiter 特殊文字を含む任意の 1 文字を文字列の区切りに使用するように設定できます。

例    "abc","xyz,pqr","hij"

このエントリがない場合、規定の区切り文字は二重引用符 (") です。このエントリに文字列 "none" を指定すると、文字を区切り文字として扱いません。



メモ Schema.ini ファイルの設定を変更した場合は、新しい設定内容を有効にするために必ずデータベース エンジンをいったん終了してから再起動してください。


参照

Microsoft Jet のための Windows レジストリ設定のカスタマイズ