Text Data源和HTML数据源使用同一个数据库驱动程序。
当安装 Text Data Source 数据库驱动程序时,设置程序会在引擎的 Windows 注册表和 ISAM Formats子键中写入一些缺省值。不要直接修改这些设置;请使用应用程序的设置程序来添加、删除、或更改这些设置。下列部分描述 Text Data Source 数据库驱动程序的初始化和 ISAM Formats 设置。
Jet\3.5\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 数据库引擎使用如下的文本文件夹项目。
项目 |
说明 |
||||||||
win32 |
Mstext35.dll 的位置。这个完整路径在安装时就已确定。在 Windows 95 和Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。 |
||||||||
MaxScanRows |
当猜测字段类型时被扫描的行数。如果设成 0,整个文件将被搜寻。缺省值是 25。 在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。 |
||||||||
FirstRowHasNames |
指示表的第一行是否包含字段名的二进制值。01 的值指示在导入期间将从第一行取得字段名。00 值指示在第一行中没有字段名。缺省值是 1。 在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。 |
||||||||
CharacterSet |
如何存储文本页的指示器。可能的设置是:
OEM 为缺省值。在 Windows 95 和Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。 |
||||||||
Format |
可为下列任一值:TabDelimited、CSVDelimited、Delimited(<单一字符>)。在 Delimited 格式下的单一字符分隔符可以是除了双引号以外 (") 的任何单一字符。缺省值是 CSVDelimited。在 Windows 95 和Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。 |
||||||||
Extensions |
当要找寻基于文本的数据时,供浏览的文件的扩展名。缺省值是 txt、csv、tab 和 asc。在 Windows 95 和Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。 |
||||||||
ExportCurrencySymbols |
指示当货币字段导出时是否包含相应的货币符号的二进制值。01 的值指示将包含符号。00 的值指示只导出数值数据。缺省值是 1。 在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。 |
Jet\4.0\ISAM Formats\Text 文件夹包含下列项目。
项目 |
Windows NT 3.51 类型 |
Windows 95 and Windows NT 4.0 类型 |
值 |
Engine |
REG_SZ |
String |
Text |
ExportFilter |
REG_SZ |
String |
Text Files(*.txt;*.csv;*.tab;*.asc) |
ImportFilter |
REG_SZ |
String |
Text Files(*.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 注册表设置时,要使新设置生效,必须先退出,然后重新激活数据库引擎。
Jet\3.5\ISAM Formats\HTML Import 文件夹包含下列项目。
项目 |
Windows NT 3.51 类型 |
Windows 95 and Windows NT 4.0 类型 |
值 |
Engine |
REG_SZ |
String |
Text |
ImportFilter |
REG_SZ |
String |
HTML 文件(*.ht*) |
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 注册表设置时,要使新设置生效,必须先退出,然后重新激活数据库引擎。
Jet\3.5\ISAM Formats\HTML Export 文件夹包含下列项目。
项目 |
Windows NT 3.51 类型 |
Windows 95 and Windows NT 4.0 类型 |
值 |
Engine |
REG_SZ |
String |
Text |
ExportFilter |
REG_SZ |
String |
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 注册表设置时,要使新设置生效,必须先退出,然后重新激活数据库引擎。
若要读入、导入、或导出文本数据,在 .ini 文件中除了包含文本 ISAM 信息以外,还需要创建一个 Schema.ini 文件。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) ,这个数据源名 (DSN) 可在连接时有选择地传送。所有三种格式部分均可包含在一个 .ini 文件中。
Microsoft Jet 数据库引擎使用如下的 Schema.ini 项目。
项目 |
说明 |
ColNameHeader |
可设置为 True (表示数据的第一个记录为字段名)或 False。 |
Format |
可为下列任一值:TabDelimited、CSVDelimited、Delimited(<单一字符>)。在 Delimited 格式下的单一字符分隔符可以是除了双引号以外 (") 的任何单一字符。 |
FixedFormat |
只用于Format是 FixedLength,可设置为以下值之一:RaggedEdge或TrueFixedLength. RaggedEdge允许以一个Carriage Return字符作为行的终止。 TrueFixedLength要求每一行是一个精确的字符数,任何一个不在行边界的Carriage Return字符被视为是插入在一个字段里的。 若无该设置,缺省值为RaggedEdge. |
MaxScanRows |
当猜测字段类型时被扫描的行数。如果设成 0,整个文件将被搜寻。 |
CharacterSet |
可设为OEM或ANSI或UNICODE,或一个有效代码页的十进制值,显示源文件的字符集。 |
DateTimeFormat |
可设置为指示日期和时间的格式字符串。如果在导入/导出中所有的日期/时间字段使用同样的格式来处理,就应当指定此项。除了 AM 和 PM 外,所有 Microsoft Jet 数据库引擎格式都被支持。格式字符串不存在时,就使用 Windows“控制面板”的短日期图片和时间选项。 |
CurrencySymbol |
指示正文文件中货币值使用的的货币符号。示例中包含的美元符号 ($) 和 Dm。如果此项目不存在,将使用 Windows “控制面板”的缺省值。 |
CurrencyPosFormat |
可设置为下列任一值: 货币符号在前且没有分隔($1) 货币符号在后且没有分隔(1$) 货币符号在前且有一分隔符($ 1) 货币符号在后且有一分隔符(1 $) 如果此项目不存在,将使用 Windows “控制面板”的缺省值。 |
CurrencyDigits |
指定用来作货币量小数部分的十进制数。如果此项目不存在,将使用 Windows “控制面板”的缺省值。 |
CurrencyNegFormat |
可设置为下列值之一: ($1) –$1 $–1 $1– (1$) –1$ 1–$ 1$– –1 $ –$ 1 1 $– $ 1– $ –1 1– $ ($ 1) (1 $) 此示例的目的为显示美元符号,但是在实际程序之中,它应被相应的 CurrencySymbol 值取代。如果此项目不存在,将使用 Windows “控制面板”的缺省值。 |
CurrencyThousandSymbol |
指示在正文文件中使用哪一个字符符号来分隔货币值的千位。如果此项目不存在,将使用 Windows “控制面板”的缺省值。 |
CurrencyDecimalSymbol |
可以设置任一字符来分隔货币量的整数与小数部分。如果此项目不存在,将使用 Windows “控制面板”的缺省值。 |
DecimalSymbol |
可以设置任一字符来分隔一个数的整数与小数部分。如果此项目不存在,将使用 Windows “控制面板”的缺省值。 |
NumberDigits |
指示一个数的小数部分的十进制数。如果此项目不存在,将使用 Windows “控制面板”的缺省值。 |
NumberLeadingZeros |
指定一个小于 1 而且大于 -1 的十进制数是否应该包含前导零;此值可为 False (没有前导零)或 True。 |
Col1, Col2, ... |
列出正文文件中被读入的字段。此项的格式为: Coln=columnName type [Width #] columnName:嵌有空格的字段名应括在括号中。 Type:可以是 Bit, Byte, Short, Long, Decimal, Currency, Single, Double, DateTime.Binary, OLE, Text, or Memo. 除此之外,还支持下列 ODBC 文本驱动程序类型: Char(同 Text) Float(同 Double) Integer(同 Short) LongChar(同 Memo) Date 日期格式 在Memo类型中,一个附加的格式标记[Attribute Hyperlink]可用于指明Access中激活的URL’s列。 在十进制类型中应使用附加格式标记[Scale #] Precision #] should be used. |
TextDelimiter |
可设置为单个的字符用来限定包含其他特殊字符的字符串。 E.g.“abc”,”xyz,pqr”,”hij” 若无入口,缺省值为两次引用。入口为”none”字符串则无定界符。 |
注意 当更改 Windows 注册表设置时,要使新设置生效,必须先退出,然后重新激活数据库引擎。
定制 Microsoft Jet 的 Windows 注册环境