Access在Win10连接失败的问题
Access在Win7可以连接成功,但是在Win10连接失败,检查了不是代码问题,发现是在Win10数据源里面,没有Access数据库驱动的问题。
try
{
CoInitialize(NULL);
m_pConnection = _ConnectionPtr(__uuidof(Connection));
m_pConnection->ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=Database1.accdb;";
m_pConnection->Open("", "", "", adConnectUnspecified);
}
catch (_com_error e){
AfxMessageBox(_T("数据库连接失败!"));
return FALSE;
}
Provider=Microsoft.ACE.OLEDB.12.0;
这个提供者的名称,在数据源上面找不到,添加驱动那一页没有指定这个Access2010版本的数据库驱动。
解决问题:
1. 下载相应版本的驱动:http://dl.pconline.com.cn/download/1059640-1.html。
并且安装这个驱动(注意我这里是Access2010版本的,其他不同的下载相应的版本)。
注意安装前:先打开数据源(在C:\Windows\SysWOW64\odbcad32.exe),选择“驱动程序”那一栏,查看一些关于Access的驱动名称,后面安装你想要的驱动后,这一栏会多出现一条Aceess驱动名称,后面步骤添加这个就可以了。
2. 不要直接在电脑->属性->管理工具添加,而是在C:\Windows\SysWOW64里,找到这个文件odbcad32.exe,然后点击打开它。在“系统DSN”中,“添加”驱动名称,并与代码中Provider=Microsoft.ACE.OLEDB.12.0;这个名称保持相同。如图:
然后确定,在执行代码,就可以连接数据成功了。