用Microsoft.ACE.OLEDB.12.0数据库连接不上

本人用OLEDB.12.0与Access 2010数据库连接,使用vb窗体程序,代码如下:
Dim con As New ADODB.Connection
Dim resAs New ADODB.Recordset
con.Open("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=e:\DB\db1.mdb;Persist Security Info=False")
'con.Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=e:\DB\db1.mdb;Persist Security Info=False")
res.Open("select* from A料¢?配?方¤?", con, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
Label1.Text = res.Fields(0).Name
con.Close()
con = Nothing
res = Nothing
开始第3行代码报错“未找到提供程序。该程序可能未正确安装。”但用第4行代码代替时,调试正常。初步判断是Microsoft.ACE.OLEDB.12.0的问题,于是搜索各种解决方案。

操作方法

  • 01

    1、  安装AccessDatabaseEngine_X64,该版本是Access2010的开发程序包,下载地址如下: http://www.microsoft.com/zh-cn/download/details.aspx?id=13255,但调试仍然报同样的错误,问题没有解决,继续搜狗搜索解决方案。

  • 02

    1、  在IIS中更改应用程序池设置。计算机右键[管理]——[服务和应用程序]——[Internet信息服务(IIS)管理器]——右侧[操作]下的[查看应用程序池]——右侧[操作]下的[设置应用程序池默认设置],将“启用32位应用程序”设置成True。 回到vs2010中调试代码还是报同样的错误,问题还是没有解决,继续搜狗搜索解决方案。

  • 03

    1、  安装AccessDatabaseEngine(2007)版的开发程序包,下载链接http://www.microsoft.com/zh-cn/download/details.aspx?id=23734,安装后调试代码,顺利通过问题解决!应用程序中有俩个Access数据库引擎

(0)

相关推荐