我之前在ODBC中设置了一个 FILE DSN,名字是:msisdn.dsn,而在程序中是这样定义的:CDatabase db;
db.OpenEx( _T( "DSN=msisdn.dsn;UID=abc;PWD=123" ),CDatabase::openExclusive | CDatabase::noOdbcDialog );可是一运行就出错,如果我用:
db.OpenEx( NULL, CDatabase::forceOdbcDialog ); 取代上面的那条 OPEN 的代码就不会出错,但每次运行,它都会弹出选择 DSN 的对话框,比较烦人,请经验人氏指教,多谢多谢~~~

解决方案 »

  1.   

    m_dbCust.OpenEx( _T( "DSN=SQLServer_Source;UID=SA;PWD=abc123" ),
                     CDatabase::openReadOnly |
                     CDatabase::noOdbcDialog );
      

  2.   

    CDatabase::openExclusive   Not supported in this version of the class library. A data source is always opened as shared (not exclusive). Currently, an assertion fails if you specify this option
    db.OpenEx( _T( "DSN=msisdn.dsn;UID=abc;PWD=123" ),CDatabase::openExclusive | CDatabase::noOdbcDialog );CDatabase::openExclusive 不支持啊,加了这个就会出错的