The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine 解决办法

64位操作系统中使用OLEDB去访问access数据库,出现 The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine 错误提示。

在网上查找资料,大多数解决办法如下:

如果是WebSite且是IIS6
键入以下命令启用 32 位模式:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

如果是IIS7
appcmd list apppool /xml | appcmd set apppool /in /enable32BitAppOnWin64:true

具体资料,参考:http://www.cnblogs.com/goodspeed/archive/2009/02/05/1384476.html

但是上面的方法使用之后,会出现“Service Unavalable”的错误,连接池会自动关闭。


于是找到另外一种方法:

安装AccessDatabaseEngine,下载地址:http://www.microsoft.com/download/en/details.aspx?id=13255

使用此下载:
1.如果您是应用程序用户,请查阅应用程序文档以获得有关如何使用相应驱动程序的详细信息。
2.如果您是使用 OLEDB 的应用程序开发人员,请将 ConnectionString 属性的 Provider 参数设置为“Microsoft.ACE.OLEDB.12.0”
◦如果要连接到 Microsoft Office Excel 数据,请将“Excel 14.0”添加到 OLEDB 连接字符串的扩展属性中。
3.如果您是使用 ODBC 连接到 Microsoft Office Access 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”
4.如果您是使用 ODBC 连接到 Microsoft Office Excel 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”

这种方法可以解决问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值