参考网上的案例写了如下代码来连接access数据库
执行完connection.query后报错:Provider cannot be found. It may not be properly installed.
我的问题是:我看到网上的代码provider有Microsoft.ACE.OLEDB.12.0 和 Microsoft.Jet.OLEDB.4.0, 我不知道用哪个,如何找到自己正确的Provider? 报错该如何解决?谢谢!
参考网上的案例写了如下代码来连接access数据库
执行完connection.query后报错:Provider cannot be found. It may not be properly installed.
我的问题是:我看到网上的代码provider有Microsoft.ACE.OLEDB.12.0 和 Microsoft.Jet.OLEDB.4.0, 我不知道用哪个,如何找到自己正确的Provider? 报错该如何解决?谢谢!
解决方法
1、你应该选择前者,选择Microsoft.ACE.OLEDB.12.0
因为你代码中显示的文件是:.accdb
数据库连接字符串:
- 访问 2000-2003 (*.mdb):
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=node-adodb.mdb;
- 访问 > 2007 (*.accdb):
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=adodb.accdb;Persist Security Info=False;
或者Provider=Microsoft.ACE.OLEDB.15.0;Data Source=adodb.accdb;Persist Security Info=False;
所以,根据你的代码信息,选择Microsoft.ACE.OLEDB.12.0
来进行运行。
2、关于这个Microsoft.ACE.OLEDB.12.0
下载:
获取地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=13255
具体的版本和相关信息都可以在这个网站找到:
扩展
该类库理论支持 Windows 平台下所有支持 ADODB 连接的数据库,只需要数据库更改连接字符串实现实现操作!
数据库连接字符串:
访问 2000-2003 (.mdb):Provider=Microsoft.Jet.OLEDB.4.0;Data Source=node-adodb.mdb;
访问 > 2007 (.accdb):Provider=Microsoft.ACE.OLEDB.12.0;Data Source=adodb.accdb;Persist Security Info=False;或者 Provider=Microsoft.ACE.OLEDB.15.0;Data Source=adodb.accdb;Persist Security Info=False;
注意:
该类库需要系统支持Microsoft.Jet.OLEDB.4.0或者Microsoft.ACE.OLEDB.12.0,对于Windows XP SP2以上系统默认支持Microsoft.Jet.OLEDB.4.0,其他需要自己安装支持!
如有问题及时沟通