数据库关了啊。而且每次debug的话,都可以正常打开数据库,并且进行操作。

解决方案 »

  1.   

    每次完成数据库操作后要关闭数据库,调用close()函数,
    CDatabase* m_pDatabase;
    m_pDatabase->OpenEx(DBConnect, CDatabase::noOdbcDialog);
    ...数据库操作
    if(m_pDatabase != NULL)
    {
    if(m_pDatabase->IsOpen())
    m_pDatabase->Close();
    delete m_pDatabase;
    m_pDatabase = NULL;
    }
      

  2.   

    调用了close().还是老样子。好像数据库关不掉的样子。我用的是远程机器上的数据库。
      

  3.   

    我刚刚重启计算机后,先用oracle里的SQL plus连上远程数据库,再关掉plus,然后去执行C++程序,这时第一次执行就报那个错了。
      

  4.   

    #include "afxdb.h"
    CDatabase db;
    db.OpenEx(_T("DSN="+m_linkname+";UID="+m_username+";PWD="+m_password+";"));
    db.ExecuteSQL("begin "+m_procedurename+"('"+tablename+"');end;");
    db.Close();
      

  5.   

    我也在做vc连接数据库时也出现了问题,想请教各位一下。
    以前只做过本地数据库的连接,如果要连接远端数据库,客户端和服务器端都要做什么设置?服务器要在开放哪些端口?我知道,客户机要在tnsnames.ora文件中,添加一个网络服务名,在host字段中填上服务器的ip,在service_name字段中填上服务器上的oracle全局数据库名,这样在配置ODBC时,会出现所取的网络服务名,请问 如果这样配好了,也按照配好的数据源名连接,是不是像用本地数据库一样来用远程数据库了呢?谢谢解答