未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

时间:2022-12-30 21:27:23

今天界面的菜单初步确定。

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

接下来,首要的是数据库的设计,到底要用什么数据库好呢?用SQL server?太大了,不想装;用MySql,没用过,没下载;用Oracl,太正式了,用不来。最后我想就用Access吧,本地已安装。但在连接时出现:"未在本地计算机上注册"microsoft.Jet.oledb.12.0"提供程序",这是因为版本的问题,我的环境是VS2012+Access2013,解决方法:

第一步, 下载安装Microsoft Access Database Engine,共有32bit和64bit两个版本,具体要安装哪个要看你的程序是32bit的还是64bit的,而不是PC的版本;

32bit:http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine.exe

64bit:http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_x64.exe

第二步,修改数据库连接字符串的Provide Microsoft.ACE.OLEDB.12.0(原来为Provide Microsoft.Jet.OLEDB.4.0)。

接下来,尝试连接就正确了。

 

附:ACCESS连接字符串

标准链接

"Driver= {Microsoft Access Driver(*.mdb)};DBQ=C:\App1\你的数据库名.mdb;Uid=你的用户名;Pwd=你的密码;"

如果ACCESS数据库未设置用户名和密码,请留空。下同。

WorkGroup方式(工作组方式)连接

"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\App1\你的数据库名.mdb; SystemDB=C:\App1\你的数据库名.mdw;"

采用独占方式进行连接

"Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\App1\你的数据库名.mdb; Exclusive=1; Uid=你的用户名; Pwd=你的密码;"

MS ACCESS OLEDB & OleDbConnection (.NET下的OleDb接口)进行链接

普通方式(最常用)连接ACCESS数据库

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; User Id=admin; Password="

使用工作组方式(系统数据库)连接ACCESS数据库

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\你的系统数据库名.mdw"

连接到带有密码的ACCESS数据库

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:Database Password=你的密码"

连接到处于局域网主机上的ACCESS数据库

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\你的数据库名.mdb"

连接到处于远程服务器上的ACCESS数据库

"Provider=MS Remote; Remote Server=http://远程服务器IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb"