如何验证Oracle的ValidateConnection属性是否有效?

时间:2012-01-05 22:47:38

标签: oracle odp.net

有人告诉我,如果我将Oracle中的“ValidateConnection”属性设置为TRUE,应用程序将能够处理以下情况:

  1. 网络设备超时后关闭TCP连接的超时 时间和/或不活动。
  2. 物理连接中断,例如拉线,网络设备重置, 等
  3. 正在重新启动Oracle服务器,或者DBA在逻辑上关闭连接 服务器端。
  4. 我的问题是:

    1. 如果ValidateConnection设置为TRUE,oracle是否可以实际处理上述情况?
    2. 我是否需要编写其他代码或Oracle的连接池只会等到连接超时?
    3. 我可以用什么技术或工具来测试这种情况?示例代码或其他文章的链接将非常有用。
    4. 感谢。

1 个答案:

答案 0 :(得分:2)

ValidateConnection只是告诉Oracle在将其连接到应用程序之前测试池中的连接。这可以防止您从连接池中获取已断开连接的连接。要回答您使用ValidateConnection处理哪些情况的问题,我想我需要知道“句柄”的含义。如果Oracle服务器已从Internet断开连接,则ValidateConnection无法对其执行任何操作。但是,一旦它重新联机,ValidateConnection将阻止Oracle将应用程序断开的连接从连接池中处理。下面的链接提供了一些更多的信息,他很快就描述了他如何在他的环境中测试ValidateConnection。

http://spdeveloper.net/2009/10/disconnected-odp-net-and-system-data-oracleclient-connections/