问题描述
我们正在将 Oracle12c升级到Oracle 19c 。这样做时,我们在清除连接池时会遇到问题。
下面是客户端dll版本( Oracle.DataAccess.dll )
- 12分-4.122.1.0
- 19c-4.122.19.1
请参阅下面的代码片段,相同的代码正在清除与12c oracle客户端dll的连接池,但不适用于19c oracle客户端。尝试使用reflactor调试dll,发现这两个版本之间的ClearPool方法的实现略有不同。 谁能帮忙-oracle 19c中的等效代码是什么? 是否需要为19c设置任何其他参数? 在下面的代码中,当调用ClearPool方法调用由该用户在v $ session中创建的连接时,在12c中消失了,但在19c中却不起作用
从v $ session中选择*,其中username ='XYZ'-创建连接的用户
public bool ClearConnectionPool(ref string connectioString)
{
bool flag = false;
OracleConnection objConn;
try
{
objConn = new OracleConnection(connectioString);
OracleConnection.ClearPool(objConn);
flag = true;
}
catch (InvalidOperationException iex)
{
ExceptionHelper.HandleException(iex);
flag = false;
}
catch (Exception ex)
{
ExceptionHelper.HandleException(ex);
flag = false;
}
return flag;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)