从Oracle12c升级到Oracle19c时OracleConnection.ClearPool()中出现问题

从Oracle12c升级到Oracle19c时OracleConnection.ClearPool()中出现问题,oracle,upgrade,oracle12c,oracle19c,Oracle,Upgrade,Oracle12c,Oracle19c,我们正在将Oracle12c升级到Oracle 19c。在这样做的同时,当我们清除连接池时,我们面临着一个问题 以下是客户端dll版本(Oracle.DataAccess.dll) 12c-4.122.1.0 19c-4.122.19.1 请参阅下面的代码片段,相同的代码正在使用12c oracle客户端dll清除连接池,但它不适用于19c oracle客户端。尝试使用Refactor调试DLL,发现这两个版本之间的ClearPool方法的实现略有变化。 有人能帮忙吗?oracle 19c中

我们正在将Oracle12c升级到Oracle 19c。在这样做的同时,当我们清除连接池时,我们面临着一个问题

以下是客户端dll版本(Oracle.DataAccess.dll

  • 12c-4.122.1.0
  • 19c-4.122.19.1
请参阅下面的代码片段,相同的代码正在使用12c oracle客户端dll清除连接池,但它不适用于19c oracle客户端。尝试使用Refactor调试DLL,发现这两个版本之间的ClearPool方法的实现略有变化。 有人能帮忙吗?oracle 19c中的等效代码是什么? 19c是否需要设置其他参数? 在下面的代码中,当调用ClearPool方法时,该用户在v$session中创建的连接在12c中消失,但在19c中不起作用

选择*from 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;
        }