如何清除连接错误时的ODP.NET连接池?
|
我正在使用NHibernate和ODP.NET连接到Oracle 11g数据库。当然,可能会出现连接错误(网络故障,数据库关闭等)。我正在代码中处理所有这些异常,因此没有问题。但是,当然,用户可以重试其操作(也许只是短暂的网络故障),这就是我的问题:
默认情况下,ODP.NET使用连接池。通常,这没有问题,但是当用户在连接错误后重试操作时,NHibernate从ODP.NET获得无效(池化)连接。用户必须多次重试(直到池为空)才能使其再次工作。
当然我可以在ODP.NET中禁用连接池,但是我想避免这种情况。我还阅读了有关设置的信息,该设置针对池中每个返回的连接检查与DB的连接,但这也为我希望避免的每个连接增加了一次往返。
有什么方法可以将ODP.NET配置为在任何连接引发连接异常时自动清除连接池吗?
没有找到相关结果
已邀请:
2 个回复
仇聘发栖
广躺椽