Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 如何检查连接是否处于活动状态?_Oracle_Jdbc_Connect_Keep Alive - Fatal编程技术网

Oracle 如何检查连接是否处于活动状态?

Oracle 如何检查连接是否处于活动状态?,oracle,jdbc,connect,keep-alive,Oracle,Jdbc,Connect,Keep Alive,我使用JDBC连接到Oracle数据库。应用程序正在运行很长时间。所以我需要若连接并没有被服务器关闭,并没有发生网络断开等。 我应该运行小查询还是以其他方式运行?使用isValid我不能,因为jdbc驱动程序不支持它。运行一个简单的查询,比如 SELECT 1 FROM dual 这是最简单的方法。这就是大多数Java EE应用程序服务器用来验证其连接池中的连接是否仍然处于活动状态的方法。运行一个简单的查询,例如 SELECT 1 FROM dual 这是最简单的方法。这是大多数Ja

我使用JDBC连接到Oracle数据库。应用程序正在运行很长时间。所以我需要若连接并没有被服务器关闭,并没有发生网络断开等。
我应该运行小查询还是以其他方式运行?使用isValid我不能,因为jdbc驱动程序不支持它。

运行一个简单的查询,比如

SELECT 1
  FROM dual

这是最简单的方法。这就是大多数Java EE应用程序服务器用来验证其连接池中的连接是否仍然处于活动状态的方法。

运行一个简单的查询,例如

SELECT 1
  FROM dual

这是最简单的方法。这是大多数Java EE应用程序服务器验证其连接池中的连接是否仍然处于活动状态时所做的操作。

如果不回答,则服务器查询将运行很长时间。@user710818-在绝大多数情况下,假设连接在过去成功打开,这将立即检测到连接断开,或者或多或少立即对数据库执行查询。如果在网络失去将数据包路由到数据库服务器的能力后立即发出查询,则数据包可能需要一段时间才能超时。但这种情况非常罕见,而且您可能执行的任何其他操作都不太可能更快地失败。如果不回答,服务器查询将运行很长时间吗?@user710818-在绝大多数情况下,假设连接在过去成功打开,这将立即检测到连接断开,或者或多或少立即对数据库执行查询。如果在网络失去将数据包路由到数据库服务器的能力后立即发出查询,则数据包可能需要一段时间才能超时。但这是非常罕见的,而且你可能做的任何其他事情都不可能更快地失败。