当然有了!
你必须先注册ODBC数据库!

解决方案 »

  1.   

    不必的 自己在程序中指定数据库的名字就可以了 
     我用的是Access
        例如 
        CString  connect;         
        CString  sDriver  =  "MICROSOFT  ACCESS  DRIVER  (*.mdb)"; 
        CString  sFile=g_AppPath   
        sFile+=  "\\data.mdb";               
        connect.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s",sDriver,sFile); 
        m_database.Open(NULL,false,false,connect,false);
      

  2.   

    ACCESS:
    char sz[1000];
    LPSTR lpsz = sz;
    SQLConfigDataSource(NULL,ODBC_ADD_DSN, 
           "Microsoft Access Driver (*.mdb)", 
           "DSN=AAA\0"
           "Exclusive=0\0"
           "Option1=Yes\0Option2=Yes\0\0");
    str = _T("C:\\AAA\\Data\\AAA.mdb");
    wsprintf(lpsz,"%s",str);
    SQLWritePrivateProfileString("AAA", 
                                 "DBQ", lpsz, 
                                 "ODBC.INI");
    str = _T("C:\\AAA\\Data\\");
    wsprintf(lpsz,"%s",str);
    SQLWritePrivateProfileString("AAA", 
                                 "DefaultDir", 
                                  lpsz, 
                                  "ODBC.INI");
    配置SQLServer网络数据源: strWebServer为调用者传来的服务器IP或NAME char sz[1000];
    CString temp(_T("")); LPSTR lpsz = sz;
        WORD byteNum = 0;
    int nLength = 0;
    BOOL bFound = FALSE;
    BOOL bSQL = FALSE; bFound = SQLGetInstalledDrivers(lpsz,1000,&byteNum);
    while(bFound)
    {   
    temp.Format("%s",lpsz); 
    if(temp.IsEmpty()) break;
            if(temp.Find(_T("SQL Server")) != -1) bSQL = TRUE;
    nLength = temp.GetLength();
    nLength ++;
    lpsz += nLength;

    if(!bSQL) AfxMessageBox(_T("  您的系统中没有安装SQL Server ODBC Driver,\n您将无法浏览历史数据!"),MB_ICONINFORMATION | MB_OK); CString configString(_T(""));
    char configChar[128];
        
        //---ss zhang modified for history DB--
        configString = "DSN=Autop99A_History\0";
    memcpy(configChar,configString,21);
    configString = "DATABASE=Autop99A_History\0";
    memcpy(&configChar[21],configString,26);
    //---ss zhang modified for history DB--    configString = "NETWORK=DBMSSOCN\0";
    memcpy(&configChar[47],configString,17);
        configString = "DESCRIPTION=AutopWeb\0";
    memcpy(&configChar[64],configString,21);
    configString.Format(_T("SERVER=%s\0\0"),m_strWebServer);
    memcpy(&configChar[85],configString,configString.GetLength()+1);
        configChar[85+configString.GetLength()+1] = '\0';
     
        if(!SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN, "SQL Server",configChar))
    {   
    DWORD errorNo;
    WORD count;
            SQLInstallerError(1,&errorNo,lpsz,SQL_MAX_MESSAGE_LENGTH,&count);
    temp.Format(_T("  本地数据源添加失败,您将无法浏览历史数据!\n错误原因:%s"),lpsz);
    AfxMessageBox(temp);
    }