当安装 Microsoft FoxPro 数据库的驱动程序时,设置程序会在引擎的 Windows 注册表和 ISAM 格式子键写入一些缺省值。不要直接修改这些设置;请使用应用程序的设置程序来添加、删除、或更改这些设置。下列部分描述 Microsoft FoxPro 数据库驱动程序的初始化和 ISAM Format 设置。Microsoft FoxPro 初始化设置Jet\3.5\Engines\Xbase 文件夹包含用来访问外部 FoxPro 工作表的 Msxbse35.dll 驱动程序的初始化设置。文件夹中项目的典型设置显示於下列示例。win32=<path>\MSXBSE35.dll
NetworkAccess=On
PageTimeout=600
INFPath=C:\DBASE\SYSTEM
CollatingSequence=ASCII
DataCodePage=OEM
Deleted=Off
Century=Off
Date=MDY
Mark=47
Exact=OffThe Microsoft Jet 数据库引擎使用如下的 Xbase 文件夹项目。项目 说明
win32 Msxbse35.dll 的位置。完整路径在安装时就已确定。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
NetworkAccess 文件锁定首选项的二进制指示器。如果 Network Access 设为 00,表将被打开为独占访问,不管OpenDatabase 和 OpenRecordset 方法中 exclusive 参数的设置是多少。缺省值是 01。在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。
PageTimeout 从数据放在内部高速缓冲时起,到它变为无效之间的时间长度。此数值以 100 毫秒为单位。缺省值是 600 个单位或 60 秒。在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。
INFPath 到 .inf 文件目录的完整路径。Microsoft Jet 数据库引擎首先在包含该表的目录中查找 .inf 文件。如果 .inf 文件不在数据库目录中,它会在 INFPath中查找。如果没有 INFPath,它会使用在数据库目录中找出的任意索引文件(.cdx 或 .mdx)。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。此项目没有被安装过程写入。
CollatingSequence 所有用 Microsoft Jet 数据库引擎创建或打开的 Microsoft FoxPro 表的排序序列。可能的值为 ASCII 和 International。缺省值是 ASCII。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
DataCodePage 如何存储文本页的指示器。可能的设置是:?OEM-执行 OemToAnsi 和 AnsiToOem 转换。?ANSI—不执行 OemToAnsi 和 AnsiToOem转换。缺省值是 OEM。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
Deleted 用以决定 Microsoft Jet 数据库引擎如何处理已标记为删除的记录的二进制指示器。01 值对应 Microsoft FoxPro 的 SET DELETED ON 命令,且指示 Microsoft Jet 不再检索或定位已删除的记录。00 值对应 Microsoft FoxPro 的 SET DELETED OFF 命令,且指示 Microsoft Jet 对待一个删除的记录像对待任何其它的记录一样。缺省值是 00。在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。
Century 在 date-to-string 函数被使用在索引表达式的情况下,格式化日期的世纪部件 (century)的二进制指示器。01 值对应 Microsoft FoxPro 的 SET CENTURY ON 命令,而 00 值对应 Microsoft FoxPro 的 SET CENTURY OFF 命令。缺省值是 00。在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。
Date 在索引表达式中使用 date-to-string 函数的情况下,使用的日期格式化样式。此对应 Microsoft FoxPro 的 SET DATE 命令的项目,可能值为 American、ANSI、British、French、DMY、German、Italian、Japan、MDY、USA、和 YMD。缺省值是 MDY。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
Mark 用来分隔日期的 ASCII 字符的十进制值。缺省值取决于 Date 设置。如下列:"/" (American, MDY)"." (ANSI)"/" (British, French, DMY)"." (German)"-" (Italian)"/" (Japan, YMD)"-" (USA)0 值指示系统应该使用通常与被选择的日期格式相关联的分隔符。缺省值是 0。在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。
Exact 字符串比较的二进制指示器。01 的值对应 Microsoft FoxPro 的 SET EXACT ON 命令。00 的值对应 Microsoft FoxPro 的 SET EXACT OFF 命令。缺省值是 00。在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。
FoxPro ISAM 格式Jet\3.5\ISAM Formats\FoxPro 2.0 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 2.0(*.dbf)
ImportFilter REG_SZ String Microsoft FoxPro(*.dbf)
CanLink REG_BINARY Binary 01
OneTablePerFile REG_BINARY Binary 01
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 01
IndexFilter REG_SZ String FoxPro 索引(*.idx;*.cdx)
CreateDBOnExport REG_BINARY Binary 00
ResultTextImport REG_SZ String 从外部文件将数据导入当前数据库。对当前数据库中数据的更改将不会更改外部文件中的数据。
ResultTextLink REG_SZ String 在链接到外部文件的当前数据库中创建一个表。更改当前数据库中的数据时将会更改外部文件中的数据。
ResultTextExport REG_SZ String 从当前数据库将数据导入 Microsoft FoxPro 2.0 数据库。如果导入已存在的文件,这次处理将改写已存在的数据。
Jet\3.5\ISAM Formats\FoxPro 2.5 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 2.5(*.dbf)
CanLink REG_BINARY Binary 01
OneTablePerFile REG_BINARY Binary 01
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 01
IndexFilter REG_SZ String FoxPro 索引(*.idx;*.cdx)
CreateDBOnExport REG_BINARY Binary 00
ResultTextExport REG_SZ String 从当前数据库将数据导入 Microsoft FoxPro 2.5 数据库。如果导入已存在的文件,这次处理将改写已存在的数据。
Jet\3.5\ISAM Formats\FoxPro 2.6 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 2.6(*.dbf)
CanLink REG_BINARY Binary 01
OneTablePerFile REG_BINARY Binary 01
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 01
IndexFilter REG_SZ String FoxPro 索引(*.idx;*.cdx)
CreateDBOnExport REG_BINARY Binary 00
ResultTextExport REG_SZ String 从当前数据库将数据导入 Microsoft FoxPro 2.6 数据库。如果导入已存在的文件,这次处理将改写已存在的数据。
Jet\3.5\ISAM Formats\FoxPro 3.0 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 3.0(*.dbf)
CanLink REG_BINARY Binary 00
OneTablePerFile REG_BINARY Binary 01
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 01
CreateDBOnExport REG_BINARY Binary 00
ResultTextExport REG_SZ String 从当前数据库将数据导入 Microsoft FoxPro 3.0 数据库。如果导入已存在的文件,这次处理将改写已存在的数据。
Jet\3.5\ISAM Formats\FoxPro DBC 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 3.0(*.dbc)
CanLink REG_BINARY Binary 00
OneTablePerFile REG_BINARY Binary 00
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 00
CreateDBOnExport REG_BINARY Binary 00
ResultTextImport REG_SZ String 从外部文件将数据导入当前数据库。对当前数据库中数据的更改将不会更改外部文件中的数据。
注意 当更改 Windows 注册表设置时,要使新设置生效,必须先退出,然后重新激活数据库引擎。
NetworkAccess=On
PageTimeout=600
INFPath=C:\DBASE\SYSTEM
CollatingSequence=ASCII
DataCodePage=OEM
Deleted=Off
Century=Off
Date=MDY
Mark=47
Exact=OffThe Microsoft Jet 数据库引擎使用如下的 Xbase 文件夹项目。项目 说明
win32 Msxbse35.dll 的位置。完整路径在安装时就已确定。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
NetworkAccess 文件锁定首选项的二进制指示器。如果 Network Access 设为 00,表将被打开为独占访问,不管OpenDatabase 和 OpenRecordset 方法中 exclusive 参数的设置是多少。缺省值是 01。在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。
PageTimeout 从数据放在内部高速缓冲时起,到它变为无效之间的时间长度。此数值以 100 毫秒为单位。缺省值是 600 个单位或 60 秒。在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。
INFPath 到 .inf 文件目录的完整路径。Microsoft Jet 数据库引擎首先在包含该表的目录中查找 .inf 文件。如果 .inf 文件不在数据库目录中,它会在 INFPath中查找。如果没有 INFPath,它会使用在数据库目录中找出的任意索引文件(.cdx 或 .mdx)。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。此项目没有被安装过程写入。
CollatingSequence 所有用 Microsoft Jet 数据库引擎创建或打开的 Microsoft FoxPro 表的排序序列。可能的值为 ASCII 和 International。缺省值是 ASCII。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
DataCodePage 如何存储文本页的指示器。可能的设置是:?OEM-执行 OemToAnsi 和 AnsiToOem 转换。?ANSI—不执行 OemToAnsi 和 AnsiToOem转换。缺省值是 OEM。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
Deleted 用以决定 Microsoft Jet 数据库引擎如何处理已标记为删除的记录的二进制指示器。01 值对应 Microsoft FoxPro 的 SET DELETED ON 命令,且指示 Microsoft Jet 不再检索或定位已删除的记录。00 值对应 Microsoft FoxPro 的 SET DELETED OFF 命令,且指示 Microsoft Jet 对待一个删除的记录像对待任何其它的记录一样。缺省值是 00。在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。
Century 在 date-to-string 函数被使用在索引表达式的情况下,格式化日期的世纪部件 (century)的二进制指示器。01 值对应 Microsoft FoxPro 的 SET CENTURY ON 命令,而 00 值对应 Microsoft FoxPro 的 SET CENTURY OFF 命令。缺省值是 00。在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。
Date 在索引表达式中使用 date-to-string 函数的情况下,使用的日期格式化样式。此对应 Microsoft FoxPro 的 SET DATE 命令的项目,可能值为 American、ANSI、British、French、DMY、German、Italian、Japan、MDY、USA、和 YMD。缺省值是 MDY。在 Windows 95 和 Windows NT 4.0 中的值是字符串类型,而在 Windows NT 3.51 中是 REG_SZ 类型。
Mark 用来分隔日期的 ASCII 字符的十进制值。缺省值取决于 Date 设置。如下列:"/" (American, MDY)"." (ANSI)"/" (British, French, DMY)"." (German)"-" (Italian)"/" (Japan, YMD)"-" (USA)0 值指示系统应该使用通常与被选择的日期格式相关联的分隔符。缺省值是 0。在 Windows 95 和 Windows NT 4.0 中的值是 DWORD 类型,而在 Windows NT 3.51 中是 REG_DWORD 类型。
Exact 字符串比较的二进制指示器。01 的值对应 Microsoft FoxPro 的 SET EXACT ON 命令。00 的值对应 Microsoft FoxPro 的 SET EXACT OFF 命令。缺省值是 00。在 Windows 95 和 Windows NT 4.0 中的值是二进制类型,而在 Windows NT 3.51 中是 REG_BINARY 类型。
FoxPro ISAM 格式Jet\3.5\ISAM Formats\FoxPro 2.0 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 2.0(*.dbf)
ImportFilter REG_SZ String Microsoft FoxPro(*.dbf)
CanLink REG_BINARY Binary 01
OneTablePerFile REG_BINARY Binary 01
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 01
IndexFilter REG_SZ String FoxPro 索引(*.idx;*.cdx)
CreateDBOnExport REG_BINARY Binary 00
ResultTextImport REG_SZ String 从外部文件将数据导入当前数据库。对当前数据库中数据的更改将不会更改外部文件中的数据。
ResultTextLink REG_SZ String 在链接到外部文件的当前数据库中创建一个表。更改当前数据库中的数据时将会更改外部文件中的数据。
ResultTextExport REG_SZ String 从当前数据库将数据导入 Microsoft FoxPro 2.0 数据库。如果导入已存在的文件,这次处理将改写已存在的数据。
Jet\3.5\ISAM Formats\FoxPro 2.5 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 2.5(*.dbf)
CanLink REG_BINARY Binary 01
OneTablePerFile REG_BINARY Binary 01
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 01
IndexFilter REG_SZ String FoxPro 索引(*.idx;*.cdx)
CreateDBOnExport REG_BINARY Binary 00
ResultTextExport REG_SZ String 从当前数据库将数据导入 Microsoft FoxPro 2.5 数据库。如果导入已存在的文件,这次处理将改写已存在的数据。
Jet\3.5\ISAM Formats\FoxPro 2.6 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 2.6(*.dbf)
CanLink REG_BINARY Binary 01
OneTablePerFile REG_BINARY Binary 01
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 01
IndexFilter REG_SZ String FoxPro 索引(*.idx;*.cdx)
CreateDBOnExport REG_BINARY Binary 00
ResultTextExport REG_SZ String 从当前数据库将数据导入 Microsoft FoxPro 2.6 数据库。如果导入已存在的文件,这次处理将改写已存在的数据。
Jet\3.5\ISAM Formats\FoxPro 3.0 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 3.0(*.dbf)
CanLink REG_BINARY Binary 00
OneTablePerFile REG_BINARY Binary 01
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 01
CreateDBOnExport REG_BINARY Binary 00
ResultTextExport REG_SZ String 从当前数据库将数据导入 Microsoft FoxPro 3.0 数据库。如果导入已存在的文件,这次处理将改写已存在的数据。
Jet\3.5\ISAM Formats\FoxPro DBC 文件夹包含下列项目。项目名称 Windows NT 3.51 类型 Windows 95 and Windows NT 4.0 类型 值
Engine REG_SZ String Xbase
ExportFilter REG_SZ String Microsoft FoxPro 3.0(*.dbc)
CanLink REG_BINARY Binary 00
OneTablePerFile REG_BINARY Binary 00
IsamType REG_DWORD DWORD 0
IndexDialog REG_BINARY Binary 00
CreateDBOnExport REG_BINARY Binary 00
ResultTextImport REG_SZ String 从外部文件将数据导入当前数据库。对当前数据库中数据的更改将不会更改外部文件中的数据。
注意 当更改 Windows 注册表设置时,要使新设置生效,必须先退出,然后重新激活数据库引擎。
出 现 "Couldn't find installable ISAM."这 条 错 误 信 息 的 情 况 大 致 有 两 种 :
1. 初 试 化 文 件 (.INI)找 不 到 或 设 置 不 正 确 ;
2. 必 需 的 驱 动 程 序 ( . DLL) 找 不 到 。
VB 3.0支 持 的 数 据 库 可 以 分 为 五 类 , Microsoft Access、 Btrieve、 xBASE( 包 括 dBASE III、 dBASE IV、 FoxBASE、 FoxPro for MS-DOS/Windows) 、 Paradox以 及 ODBC( 包 括 Oracle、 SQL Server等 ) , 每 一 类 数 据 库 所 使 用 的 驱 动 程 序 和 初 试 化 文 件 是 不 尽 相 同 的 。 各 类 程 序 所 需 的 驱 动 程 序 可 见 下 表 。 数 据 库 类 别 驱 动 程 序
Microsoft Access MSAES110.DLL、 MASAJT110.DLL、 VBDB300.DLL
Btrieve BTRV110.DLL
xBASE XBS110.DLL
Paradox PDX110.DLL
ODBC ODBC.DLL、 ODBCINST.DLL、 ODBCINST.INI、 ODBCINST.HLP
除 Microsoft Access 外 , 数 据 库 程 序 若 没 有 相 应 的 初 始 化 文 件 也 是 无 法 工 作 的 。 数 据 库 使 用 VB.INI和 APPNAME.INI作 为 初 始 化 文 件 : 当 在 VB集 成 环 境 中 设 计 和 调 试 程 序 时 使 用 VB.INI文 件 , 而 当 编 译 成 .EXE文 件 后 使 用 APPNAME.INI, 这 里 的 APPNAME指 的 是 .EXE文 件 的 文 件 名 。 此 外 , Btrieve 数 据 库 的 一 些 初 始 化 设 置 在 WIN.INI文 件 的 [Btrieve]节 中 。 设 计 者 可 以 在 程 序 中 用 SetDataAccessOption语 句 改 变 默 认 的 初 始 化 文 件 的 文 件 名 或 路 径 , 如 : SetDataAccessOption 1, "C:\VB\DATA.INI"。 这 个 语 句 必 须 出 现 在 所 有 数 据 库 操 作 语 句 之 前 。
从 您 的 情 况 来 看 , 程 序 在 VB集 成 环 境 中 运 行 正 常 , 而 编 译 成 .EXE文 件 后 不 能 运 行 , 显 然 是 APPNAME.INI文 件 设 置 不 正 确 。 可 以 先 检 查 这 个 文 件 是 否 存 在 , 若 存 在 , 则 可 将 这 个 文 件 与 VB.INI文 件 加 以 比 较 , 以 检 查 设 置 是 否 正 确 。 一 般 的 设 置 文 件 如 下 ( 用 户 的 路 径 名 可 能 与 本 例 不 同 ) :
[ISAM]
PageTimeout=5
MaxBufferSize=128
LockRetry=20
CommitLockRetry=20
ReadAheadPages=16
[Installable ISAMs]
Paradox 3.X=C:\WINDOWS\SYSTEM\pdx110.DLL
FoxPro 2.0=C:\WINDOWS\SYSTEM\xbs110.DLL
FoxPro 2.5=C:\WINDOWS\SYSTEM\xbs110.DLL
dBASE III=C:\WINDOWS\SYSTEM\xbs110.DLL
dBASE IV=C:\WINDOWS\SYSTEM\xbs110.DLL
Btrieve=C:\WINDOWS\SYSTEM\btrv110.DLL
[Paradox ISAM]
PageTimeout=600
ParadoxUserName=Joe User
ParadoxNetPath=P:\PDOXDB\ ;PARADOX.NET文 件 的 路 径
CollatingSequence=Ascii
[BTrieve ISAM]
PageTimeout=600
[dBase ISAM]
PageTimeout=600
Century=Off
Date=American
Mark=47
Deleted=ON
"Couldn't find installable ISAM."错 误 是 可 以 在 程 序 中 用 On Error语 句 来 捕 捉 的 ( 错 误 号 为 3170) , 一 个 对 用 户 友 好 的 软 件 应 在 发 生 错 误 时 将 正 确 的 设 置 写 入 初 始 化 文 件 。
我 们 以 上 的 讨 论 均 是 基 于 VB 3.0而 言 的 , 如 果 在 使 用 VB 4.0时 遇 到 类 似 错 误 , 情 况 会 有 所 不 同 。 在 VB 4.0中 , 无 论 16bit版 本 , 还 是 32bit版 本 均 将 有 关 DLL文 件 的 信 息 ( 即 VB 3.0的 [Installable ISAMs]节 ) 保 存 在 系 统 注 册 数 据 库 中 , 用 户 应 使 用 Windows 3.X或 Windows 95的 REGEDIT.EXE来 检 查 这 一 设 置 是 否 正 确 。
在VB的安装程序中的数据库选项下的子选项全部安装! 像这种问题,你在搜索里输入ISAM,很容易找到解答。
另外我以前是可以使用DBF数据库的,现在不知道为什么不能用了?
是不是哪里设置错了???
上面不是告诉你了吗?
数据库选项下的子选项全部安装!