📄 vb程序出现“couldn't find installable isam.”这条错误信息.txt
字号:
以 下 内 容 是 针 对 VB 3.0和 VB 4.0 16位 版 本 的 。 VB 5.0以 后 版 本 参 考 “VB 5.0出现错误信息Couldn't find installable ISAM”。
出 现 "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来 检 查 这 一 设 置 是 否 正 确 。
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -