观察OracleConnection的状态

时间:2013-06-14 16:16:28

标签: c# oracle database-connection state odp.net

我正在我的Oracle数据库应用程序上使用ODP。我已注册到OracleConnection.StateChange事件以查看连接状态。当我断开数据库连接时,事件会触发,但例如,如果互联网连接丢失,则无法执行任何操作。

如何通过StateChange事件处理这类(互联网失败等)情况?

或者我是否必须创建一个线程来定期检查connnection state? 如果是,我如何检查连接,因为我检查了状态,即使我拔掉网线,它似乎也是打开的。

问候。

1 个答案:

答案 0 :(得分:2)

常见的方法是在连接用于某些事情之前发出一个不昂贵的sql语句。在oracle上,它类似于'从双选中选择1',在ms-sql'select 1'上。此sql强制往返服务器并报告与服务器的连接丢失。

JBoss正在使用名为check-valid-connection-sql的东西。其他人有其他名字。