找不到可安装的 ISAM,怎么办

找不到可安装的 ISAM,怎么办,第1张

两个解决办法:

1、连接字符串问题

ExtendedProperties='Excel8.0HDR=NOIMEX=1'

//HDR表示要把第一行作为数据还是作为列名,作为数据用HDR=no,作为列名用HDR=yes通过Imex=1来把混合型作为文本型读取,避免null值。

上句的左右两个单引号不能少。

2、只需注册ExcelISAM即可

在“运行”对话框中输入回车即可:Regsvr32c:\WINDOWS\system32\msexcl40.dll

找不到可安装 ISAM。

原因

此错误通常是由 MSACC20.INI 文件或计算机上损坏的动态链接库 (.DLL) 文件中正确的条目。 如果从 Microsoft Access Service Pack 2.0 更新 BTRV200.DLL 使用与原始版本的 MSAJT200.DLL 也可能发生错误。

回到顶端

解决方案

检查 MSACC20.INI 文件

要这样做, 请按照下列步骤 *** 作:

1. 在文本编辑器, (如记事本) 打开 MSACC20.INI 文件。

2. 找到 [ 安装 ISAMs ] 部分并注意 ISAM 驱动程序的路径: [Installable ISAMs]

Paradox 3.X=C:\Windows\System\Pdx200.dll

Paradox 4.X=C:\Windows\System\Pdx200.dll

FoxPro 2.5=C:\Windows\System\Xbs200.dll

FoxPro 2.6=C:\Windows\System\Xbs200.dll

FoxPro 2.0=C:\Windows\System\Xbs200.dll

dBASE III=C:\Windows\System\Xbs200.dll

dBASE IV=C:\Windows\System\Xbs200.dll

Btrieve=C:\Windows\System\Btrv200.dll

3. 启动 WindowsExplorer (或文件管理器) 并找到 ISAM 驱动程序 MSACC20.INI 文件中列出。 如果没有找到驱动程序在指定位置, 您需要重新安装 ISAM 驱动程序。 要这样做, 请按照下列步骤 *** 作: a. 文本编辑器中打开 MSACC20.INI 文件并注释 ISAM 部分由进入分号 () 中的每行, 例如前面:[Installable ISAMs]

Paradox 3.X=C:\Windows\System\Pdx200.dll

Paradox 4.X=C:\Windows\System\Pdx200.dll

FoxPro 2.5=C:\Windows\System\Xbs200.dll

FoxPro 2.6=C:\Windows\System\Xbs200.dll

FoxPro 2.0=C:\Windows\System\Xbs200.dll

dBASE III=C:\Windows\System\Xbs200.dll

dBASE IV=C:\Windows\System\Xbs200.dll

Btrieve=C:\Windows\System\Btrv200.dll

b. 保存 MSACC20.INI 文件并关闭文本编辑器。

c. 启动 Microsoft Access 安装程序。

d. 单击 " 添加/删除程序 " 按钮。

e. 单击以清除 " ISAM 驱动程序 " 以卸载安装 ISAM 驱动程序, 然后单击继续。 按照说明在屏幕上以完成卸载过程。

备注: 如果禁用 ISAM 驱动程序复选框, 退出安装, 重命名下列文件, 然后重新开始从步骤 c: BTRV200.DLL

PDX200.DLL

XBS200.DLL

f. 启动 Microsoft Access 安装程序, 重新安装 ISAM 驱动程序。

g. 单击 " 添加/删除程序 " 按钮。

h. 单击以选中 " ISAM 驱动程序 " 框, 然后单击 " 继续 "。 按照说明来完成安装屏幕上。 此安装过程会更新 MSACC20.INI 文件中 [ 安装 ISAMs ] 节以便正确设置。

4. 如果错误消息持续此时, 完全卸载并重新安装 MicrosoftAccess。 要这样做, 请按照下列步骤 *** 作: a. 备份所有用 MicrosoftAccess 创建 .MDB 文件。

b. 启动 WindowsExplorer (或文件管理器)。

c. 找到并重命名下列文件 (所有但之一这些文件都位于 \Windows\System 目录):

BTRV200.DLL

COMPOBJ.DLL

CTL3D.DLL

MSAJT200.DLL

MSAJU200.DLL (file located in Access directory)

PDX200.DLL

STDOLE.TLB

STORAGE.DLL

TYPELIB.DLL

XBS200.DLL

如果使用 Windows 95, 将以下文件从 \Windows\Sysbckup 文件夹 (隐藏文件夹) 到 \Windows\System 文件夹: COMPOBJ.DLL

CTL3D.DLL

STDOLE.TLB

STORAGE.DLL

TYPELIB.DLL

d. 启动 Microsoft Access 安装程序。

e. 单击全部删除按钮。

f. 当收到提示 " 是否确定要删除此应用程序, ", 单击 " 是 "。

g. 要完成删除过程在屏幕上按照说明。

h. 重新启动 Microsoft Access 安装。 按照说明要安装程序屏幕上。

5. 如果您使用 Microsoft Windows 3.1 并且错误消息持续此时, 通过重建 Windows 注册表解决问题。

有关重建 Windows 3.1 注册表, 请参阅下列 Microsoft 知识库文章:

80393 (http://support.microsoft.com/kb/80393/EN-US/) 如何重建默认 Windows REG.DAT 文件

string oleconn = "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" + XlsFullPath + "Extended Properties='Excel 8.0HDR=NOIMEX=1'"//不能是11.0

// HDR=NO 即无字段

// HDR=yes 即有字段,一般默认excel表中第1行的列标题为字段名,如姓名、年龄等

//如果您在连接字符串中指定 HDR=NO,Jet OLE DB 提供程序将自动为您命名字段(F1 表示第一个字段,F2 表示第二个字段,依此类推);

// IMEX 表示是否强制转换为文本

// Excel 驱动程序读取指定源中一定数量的行(默认情况下为 8 行)以推测每列的数据类型。

//如果推测出列可能包含混合数据类型(尤其是混合了文本数据的数值数据时),

//驱动程序将决定采用占多数的数据类型,并对包含其他类型数据的单元返回空值。

//(如果各种数据类型的数量相当,则采用数值类型。)

//Excel 工作表中大部分单元格格式设置选项不会影响此数据类型判断。

//可以通过指定导入模式来修改 Excel 驱动程序的此行为。

//若要指定导入模式,请在“属性”窗口中将 IMEX=1 添加到 Excel

//连接管理器的连接字符串内的扩展属性值中。

OleDbConnection conn = new OleDbConnection(oleconn)

conn.Open()

string str_sql = "select * from [Sheet1$]"

OleDbDataAdapter oda = new OleDbDataAdapter(str_sql, conn)

DataSet ds = new DataSet()

oda.Fill(ds)

或者 注册 Excel ISAM

在“运行”对话框中输入回车即可:Regsvr32 c:\WINDOWS\system32\msexcl40.dll


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11162138.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存