c++ 连接数据库
okboc 2013-06-11 05:05:35 兄弟我遇到个问题,请各位大神看看。
开发机:WIN7
开发语言:VS2010 c++
OFFICE2010
目标机:XP
OFFICE2003
代码如下:
//得到绝对路径
TCHAR szPath[MAX_PATH];
TCHAR szDB[MAX_PATH];
::GetModuleFileName(AfxGetInstanceHandle(), szPath, MAX_PATH);
::PathRemoveFileSpec(szPath);
strcpy_s(szDB,szPath);
strcat_s(szDB,_T("\\WF3D.mdb"));
//创建连接对象实例
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串
CString strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + CString(szDB)+ ";Persist Security Info=False";//ACCESS
CString strConnect="Provider=SQLOLEDB.1;Data Source=.;Initial Catalog=WF3D;User ID=sa;Password=sa;";//sql server
//使用Open方法连接数据库,经调试,下面这句出错
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
如果不用CATCH的情况下得到的错误是
Debug Error! R6010 -abort() has been called
ACCESS和SQL SERVER2000个人版都是出现这个错误
本论坛2011年有人问过类似的问题“c++ 连接access数据库”,但最后说是“第一是provider变了,还有data source的完整路径”
这个PROVIDER难度还能变?版本的问题?我看了目标机ODBC确实是4.0版本的。
各位大侠,谁遇到过这个问题,麻烦说一下。
万分感谢!!!!!