未在本地计算机上注册“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的版本;
第二步,修改数据库连接字符串的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"
作者:我也是个傻瓜
出处:http://www.cnblogs.com/liweis/
签名:成熟是一种明亮而不刺眼的光辉。
![GIS解决方案](http://pub.idqqimg.com/wpa/images/group.png)