Oracle的JDBC查询超时如何实现?
我很好奇Oralce JDBC瘦客户端如何实现查询超时。可以通过调用java.sql.Statement的setQueryTimeout(int
seconds)方法进行设置。
这是在客户端的驱动程序本身中实现的吗?是否生成并加入了新线程?还是JDBC驱动程序只是将参数发送给Oracle,然后强制执行超时?
达到超时后,将释放客户端和数据库上的哪些资源,并且哪些资源仍然存在?即使客户端放弃了查询还是终止了查询,Oracle仍会继续运行查询吗?客户端上还有游标对象吗?
谢谢
回答:
Tanel Poder撰写了一篇有关取消如何通过OCI(Oracle呼叫接口)工作的文章。我想对JDBC也做了类似的事情。如果您通过OCI使用胖驱动程序,则可以尝试跟踪会话(通过设置sqlnet.ora)并查看记录了什么。
以上是 Oracle的JDBC查询超时如何实现? 的全部内容, 来源链接: utcz.com/qa/409839.html