最近,在一个项目中使用vs2012连接Access2013数据库时发生了错误,无法连接上,特把解决方法写出来,希望能帮到有需要的人。
先介绍一下我的环境,系统:window8(x64),vs2012,Access2013(x64),使用的技术MFC+ADO。
连接代码:
try
{
m_pConnection.CreateInstance(__uuidof(Connection));//"ADODB.Connection"
m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=PatientInformation.accdb;Persist Security Info=False","","",adModeUnknown);
}
catch(_com_error& e)
{
CString errormessage;
errormessage.Format(_T("连接数据库失败!\r\n错误信息:%s"),e.ErrorMessage());
AfxMessageBox(errormessage);//显示错误信息
return FALSE;
}
在连接时,提示错误代码为0x800A0E7A,通过百度获知此错误为ADO找不到指定的提供者 ,是数据库连接或配置出错了。我重新下载了Access2010的引擎,32位的无法安装,64位的安装成功。但依然还是这个错误。有网友也表示,在64位系统下,如果安装的是32位的Access能连接成功,但64位的Access就无法连接。网上解释说,在用vs开发32位应用程序时ÿ