我正在对VB6应用程序进行故障排除,偶尔会出现以下错误: [Oracle] [ODBC] [Ora] ORA-01013:用户请求取消当前操作
我对此错误所做的所有研究表明,它是用户取消的实际请求或超时。它不能是取消请求,因为输入来自自动源,因此它必须是超时。我在网上看到的一件事是取消DSN配置框中的查询超时复选框,但我的程序使用与数据库的无DSN连接,这是一个Oracle 10g数据库。
在这个程序中有几个查询,但它总是在一个查询中失败,但是我无法在测试环境中使用导致错误的程序的所有相同输入重现错误。
我的同事建议在每次查询后进行回滚,即使查询只是因为某种缓冲区可能会被填满或类似的东西,但这不起作用。此时我甚至不知道如何继续对其进行故障排除,因为我无法重现错误。如果有人能让我知道发生了什么以及如何解决问题,我将非常感激。提前谢谢!
答案 0 :(得分:0)
如果您使用的是无DSN连接,则可以在连接字符串中指定设置DSN时可以选择的所有选项。如果要禁用查询超时,请添加
QTO=F
到连接字符串。所以你的新连接字符串就像是
DRIVER={Oracle ODBC Driver};UID=Kotzwinkle;PWD=whatever;DBQ=instl_alias;QTO=F;