[英]OracleConnection.ClearAllPools - Operation is not valid due to the current state of the object
[英]Watching state of OracleConnection
我在Oracle DB应用程序上使用ODP
。我注册了OracleConnection.StateChange
事件以监视连接状态。 当我断开数据库连接时,会触发该事件,但是例如,如果互联网连接丢失,则不会执行任何操作。
我该如何通过StateChange
事件处理此类(互联网连接丢失等)情况?
还是我必须创建一个线程来定期检查connnection state
? 如果是,我如何检查连接,因为我检查了状态,即使拔下了互联网电缆,它似乎也处于打开状态。
问候。
常用的方法是在将连接用于某些事物之前发出廉价的sql语句。 在oracle上,它类似于“从double中选择1”,在ms-sql上,则是“ select 1”。 此sql强制往返服务器,并报告与服务器的连接断开。
JBoss正在使用一种称为check-valid-connection-sql的东西 。 其他人有其他名字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.