ORA-01013: user requested cancel of current operation


1.前言

  最近在用VC6開發的程序通過ODBC訪問Oracle 9i數據庫時,經常會報“ORA-01013: user requested cancel of current operation”錯誤。

進行UPDATE和INSERT操作時都有可能發生,而且不限於某一個數據表。

2.解決辦法

  在網上查了一下資料,總結出解決辦法:

  1.修改 $ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora,添加或修改成:SQLNET.EXPIRE_TIME = 0
    這將關閉Oracle的連接狀態檢測。

  2.在ODBC管理中去掉 'Enable Query Timeout'復選框。如圖1所示:

 

                    圖1

  3.在程序中的連接數據庫的字符串中添加
    QTO=F,成為這樣的連接字符串:“;DSN=DB;UID=a;PWD=b;QTO=F”。

  4。在Connection對象上設置SetQueryTimeout(0)。

    app->m_pDatabase->SetQueryTimeout(0);

3.總結

  經過一個星期的測試,證明這個辦法確實好用。原來每天都會報這個錯誤,現在程序已經不間斷運行了7天,一個這樣的錯誤都沒報。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM