由于我正在visual studio 2003中开发一个新的web应用程序项目,我的应用程序有正在执行的查询。此应用程序连接到Oracle类型的数据库。
现在,我想做的是设置查询超时值为所有查询在这个应用程序是非常大的值,或无穷大,所以当执行查询失败时,它不会直接重新执行它,因为如果它是执行它很多次,并继续执行它,DB过载!
我们注意到大约有60个会话同时打开并执行此查询,如果执行失败!
现在,我的问题:
-
既然我是新的oracle,在哪里找到查询超时变量,并将其更改为一个非常大的值?如果我的应用程序中有很多查询怎么办?我需要更改每个查询的超时值吗?
-
我想知道HTTP/SOAP超时值和查询超时值之间的差异?
谢谢大家!
我搜索使用CommandTimeout属性,这是在OracleCommand类,但我没有找到它。是否有其他方法使用此属性来设置超时?
在Oracle数据库中没有默认的查询超时值,但是我们可以使用资源管理器来做这样的事情,当估计查询需要超过X时间时,查询可以被取消。使用它可以很好地保护数据库服务器免受没有人会等待的恶意查询的影响。这与将超时设置为无限相反,并最终确保正确工作的应用程序部分不会受到不良部分的阻碍。
如果你真的想保护你的用户不受性能差的应用程序的影响,请参阅使用Oracle数据库资源管理器管理资源。