CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
nPos=sPath.ReverseFind('\\');
    sPath=sPath.Left (nPos);
CString lpszFile = sPath + "\\商店销售管理系统.mdb";

   
    char* szDesc;
int mlen;
szDesc=new char[256];
sprintf(szDesc,"DSN=%s? DESCRIPTION=TOC support source? DBQ=%s? FIL=MicrosoftAccess? DEFAULTDIR=%s?? ","商店销售管理系统",lpszFile,sPath); mlen = strlen(szDesc);
    for (int i=0; i<mlen; i++)
{
if (szDesc[i] == '?')
 szDesc[i] = '\0';
}  if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc))
  AfxMessageBox("SQLConfigDataSource Failed");
    try
{
     CString strConnect;
 strConnect.Format("DSN=商店销售管理系统;");
 if(!m_DB.OpenEx(strConnect,CDatabase::useCursorLib))
     {
     AfxMessageBox("Unable to Connect to the Specified Data Source");
     return FALSE ;
     }
}
   catch(CDBException *pE)
    {
        pE->ReportError();
        pE->Delete();
        return FALSE;
    }
if (!InitATL())
return FALSE; AfxEnableControlContainer(); CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo); if (cmdInfo.m_bRunEmbedded || cmdInfo.m_bRunAutomated)
{
return TRUE;
} // Standard initialization
// If you are not using these features and wish to reduce the size
//  of your final executable, you should remove from the following
//  the specific initialization routines you do not need.#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif CMyDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
//  dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
//  dismissed with Cancel
} // Since the dialog has been closed, return FALSE so that we exit the
//  application, rather than start the application's message pump.
return FALSE;
}

解决方案 »

  1.   

    pCn->Open("driver={SQL Server};Server=211.64.156.98;DATABASE=pubs;UID=sa;PWD=0829","","",adModeUnknown);pCn->Open("Provider=sqloledb ;Data Source="机器名";persist security info=false;Initial Catalog="数据库名";User Id=sa;Password=;");ODBC  for SQL Server "Driver={SQL Server};Server=MyServerName;Database=myDatabaseName;       "Uid=myUsername;Pwd=myPassword;"
      

  2.   

    如上,修改一下连接字符串,就可以连接Sql Server了