oracle.jdbc.OracleConnection接口和T4CConnectionclass有什么关系?

What is the relationship between the oracle.jdbc.OracleConnection interface and the T4CConnection class?

我有一些 Java JDBC 数据库访问代码抛出一个异常,部分说明 - “[wrapping: oracle.jdbc.driver.T4CConnection@477a4e1f] 不是 or 的包装器oracle.jdbc.OracleConnection] 的实施”。我一直无法找出 T4CConnectionOracleConnection 之间的关系(如果有的话)。根据名称,它们似乎应该是。如何从 T4CConnection 中获取 OracleConnection

我正在使用 Oracle 11 和 12。

T4CConnection 通过以下继承层次结构实现 OracleConnectionoracle.jdbc.driver.T4CConnection extends oracle.jdbc.driver.PhysicalConnection extends oracle.jdbc.driver.OracleConnection which extends oracle.jdbc.OracleConnectionWrapper which implements oracle.jdbc.OracleConnection.

该错误可能是 class 加载问题的结果,其中 Oracle classes 由不同的 class 加载程序从多个 jar 加载。这些来源 (1, 2, 3) 对此进行了更详细的讨论。