整容说文库 > 程序代码 > 教育资讯

动态配置数据源的问题 SQLConfigDataSource 大家给点建议,郁闷中!

来源:学生作业帮助网 编辑:整容说文库 时间:2019/07/17 02:51:53 程序代码
动态配置数据源的问题 SQLConfigDataSource 大家给点建议,郁闷中!程序代码
我的程序有一部分用到一点ACCESS数据库,记录集CRecordset,通过odbc连接,因为刚开始设计access表的时候没有设计好,我重新按照现在的要求重新做了一个表,重新根据这个表生成了一个CRecordset类,我把以前控制面板里面的odbc数据源删除掉,重新加入新的表,程序运行时报错:

“未发现数据源名称并且未指定默认驱动程序”!!!

CString sPath;
    GetModuleFileName( NULL, sPath.GetBufferSetLength(MAX_PATH+1), MAX_PATH );
    sPath.ReleaseBuffer ();
    int nPos;
nPos=sPath.ReverseFind ('\\');
    sPath=sPath.Left (nPos);
    CString lpszFile = sPath + "\\ToolBase.mdb";
//查找并确认数据文件是否存在
CFileFind  fFind;
BOOL bSuccess;
bSuccess=fFind.FindFile(lpszFile);
fFind.Close ();
//
if(!bSuccess)
{
AfxMessageBox("找不到刀库文件ToolBase.mdb!程序初始化失败!");
return FALSE;
}
else
{
//设置数据源
char* szDesc;
        int mlen;
        szDesc=new char[256];
        sprintf(szDesc,"DSN=%s?DESCRIPTION=ToolDataBase?DBQ=%s?FIL=MicrosoftAccess?DEFAULTDIR=%s??","ToolBase",lpszFile,sPath);
mlen = strlen(szDesc);
        for(int i=0; i<mlen; i++)
        {
           if (szDesc[i] == '?')
           szDesc[i] = '\0';
        }

if(!SQLConfigDataSource(NULL,ODBC_CONFIG_DSN,"Microsoft Access Driver (*.mdb)",(LPCSTR)szDesc))
{
if(FALSE==SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)",(LPCSTR)szDesc))
AfxMessageBox("Failed");
return FALSE;
}
}

当运行到:SQLConfigDataSource  就会报错,odbc can not load resource …… 


我该怎么办,请大家支招啊,万分感谢!!!
http://blog.csdn.net/laiyiling/archive/2004/08/28/87654.aspx
这个我还不懂,需要看些什么书啊?
程序代码