2009-07-07 71 views
0

如何自动杀死运行时间超过60秒的查询?限制Oracle/ASPX查询时间

查询从VB ASPX页面调用到Oracle数据库。

我不介意把限制放在数据库本身或调用aspx代码。

仅供参考:我使用绑定到'asp:SqlDataSource`的asp:GridView来查询数据库。

FYI:一种System.Data.OracleClientconnectionString没有Connection Timeout属性(link

+0

现在不让我改变它。我所能做的就是等待答案。 – Steven 2009-07-08 13:36:33

回答

2

在数据库中,您可以为用户创建一个PROFILE,如果该语句(或会话)超出特定限制,该用户将终止该语句(或会话)。但是,这些是在LOGICAL_READS_PER_CALL或CPU_PER_CALL中测量的,而不是时间。另外,请记住,对于INSERT/UPDATE/DELETE/MERGE,终止将要求回滚所做的任何更改,这可能需要更多时间。

+0

为了澄清,CPU_PER_CALL是时间,但纯粹是CPU时间而不是最终用户时间。 – 2009-07-07 22:45:24

0

设置在vb.net代码的命令对象的CommandTimeout财产。

+2

在这种情况下,您可以在连接字符串中为连接设置超时。 – 2009-07-07 20:21:52