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天,一个这样的错误都没报。

转载于:https://www.cnblogs.com/onedime/archive/2012/11/09/2762040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值