注册 登录
编程论坛 VB6论坛

Microsoft.ACE.OLEDB.12.0的问题

natesc 发布于 2017-01-02 20:40, 1943 次点击
本人用OLEDB.12.0与Access 2003数据库连接,使用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的问题
2 回复
#2
xiangyue05102017-01-03 08:59
http://jingyan.baidu.com/article/7082dc1c504816e40b89bd6a.html
就差一个版本号,其他地方一字不差,要不要这么夸张
楼主是看人气不高来冲人气的,还是谁请来的逗逼?
#3
ZHRXJR2017-01-12 12:59
Access数据库版本不同连接的方式是不一样的,你用连接2007数据库的版本连接2003数据库当然不行的。
程序代码:


 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\*.mdb;Persist Security Info=False"    '连接2003版本以下的(含2003)Access数据库


 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path & "\*.accdb;Jet OLEDB:Database Password=;"    '连接2007以上版本的(含2007)Access数据库
1