Microsoft Access数据库引擎(Jet、ACE)和数据库连接字符串

一、Microsoft Access数据库引擎——Jet、ACE

1、Microsoft.Jet.OLEDB.4.0提供程序

(1)、适用于Microsoft Access 2007以前的版本,如Microsoft Access 2000、Microsoft Access 2003等。
(2)、只有32位的版本

2、Microsoft.ACE.OLEDB.12.0提供程序

(1)、用于替代Microsoft.Jet.OLEDB.4.0提供程序,所以适用于Microsoft Access 的全部版本,如Microsoft Access 2003、Microsoft Access 2007、Microsoft Access 2010、Microsoft Access 2016等。
(2)、既有32位版本又有64位版本
(3)、一个操作系统只能安装一种位数的ACE,如安装64位需要卸载32位。
(4)、64位的应用程序只能调用64位的引擎、32位的应用程序只能调用32位的引擎。
(5)、64位应用程序需要连接64位或32位access就必须用64位的ACE引擎。

另外:

(1)、Microsoft.ACE.OLEDB.12.0 能访问正在打开的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 则不允许。
(2)、使用Jet引擎还是使用ACE引擎,网上也有说跟系统有关,如《vs2015 64位系统下使用mdb数据库问题》一文
(3)、如果提示“未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序”,则需要安装Microsoft Access 2010 数据库引擎可再发行程序包,官网下载网址:https://www.microsoft.com/zh-CN/download/details.aspx?id=13255
当然了,直接安装Microsoft Office 2010也可解决此问题。

二、如何获取数据库连接字符串

如图,在VS2017中点击“数据源”——“添加新数据源”——数据源类型选择“数据库”——点2次“下一步”。
添加数据源
进到如下图所示界面,点击“新建连接”,在弹出的“添加连接”窗口设置——“数据源”选择“Microsoft Access数据库文件(OLE DB)”,点击“浏览”选择你要连接的“数据库文件名”,如果数据库设置了密码的请输入密码,没有密码留空即可,点击测试连接,提示测试成功后点击确定。
获取数据库连接字符串
回到“数据源配置向导”窗口,勾选如图所示的2项即可看到生成的数据库连接字符串为“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\position.accdb;Jet OLEDB:Database Password=#”。

三、测试数据库连接字符串

测试Microsoft.ACE.OLEDB.12.0提供程序:

Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\position.accdb;Jet OLEDB:Database Password=#")
        Try
            conn.Open()
            MessageBox.Show("连接成功!")
        Catch ex As Exception
            MessageBox.Show("连接失败!原因:" & ex.Message.ToString)
        Finally
            conn.Close()
        End Try

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

accdb文件测试结果:
测试1效果图
测试mdb文件结果:
测试mdb数据库连接

测试Microsoft.Jet.OLEDB.4.0提供程序

将连接字符串提供程序修改为Microsoft.Jet.OLEDB.4.0。

Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\position.mdb;Jet OLEDB:Database Password=#")

  
  
  • 1

测试mdb文件结果:
在这里插入图片描述
测试accdb文件结果图:
连接失败

                                </div>
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值