注册一个DNS(SQLConfigDataSource),m_db.Open("DNS name"); 

解决方案 »

  1.   

    用connectstring:
    m_db.OpenEx(_T("Driver={Microsoft Access Driver(*.mdb)};Dbq=your.mdb;Uid=Admin; Pwd="),CDatabase::noOdbcDialog );
      

  2.   

    我不希望用MFC,我想如何完全用ODBC API完成该操作?如下例程中:SQLHENV  henv;
    SQLHDBC  hdbc;
    SQLHSTMT hstmt;
    SQLRETURN  retcode;      /*Allocate environment handle */
    retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);  if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
       /* Set the ODBC version environment attribute */
       retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);    if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
          /* Allocate connection handle */
          retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);       if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
             /* Set login timeout to 5 seconds. */
             SQLSetConnectAttr(hdbc, (void*)SQL_LOGIN_TIMEOUT, 5, 0);         /* Connect to data source */
             retcode = SQLConnect(hdbc, (SQLCHAR*) "Sales", SQL_NTS,
                    (SQLCHAR*) "JohnS", SQL_NTS,
                    (SQLCHAR*) "Sesame", SQL_NTS);         if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
                /* Allocate statement handle */
                retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);             if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
                /* Process data */
                   ...;
                   ...;
                   ...;               SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
                }
                SQLDisconnect(hdbc);
             }
             SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
          }
       }
       SQLFreeHandle(SQL_HANDLE_ENV, henv);其中 SQLConnect(hdbc, (SQLCHAR*) "Sales", SQL_NTS,                              
                    (SQLCHAR*) "JohnS", SQL_NTS,
                    (SQLCHAR*) "Sesame", SQL_NTS);
    如何直接跟一个.mdb文件进行数据源连接。
      

  3.   

    使用installer DLL中的SQLConfigDataSource,或setup DLL中的ConfigDSN添加一个数据源,然后
    好像使用ODBC不能直接联接数据源文件。