首页 > 解决方案 > 从 WSJdbcDataSource(连接池)解包 OracleConnection

问题描述

我想从 WebSphere Application Server 9 中运行的应用程序中的 WsJdbcDataSource 获取 OracleConnection,但我无法解开连接。

我正在使用 Oracle ojdbc8 设置为 JDBC 提供程序,并且在这里我发现了一些问题答案,建议将任何驱动程序库从应用程序中移除,我在我的 pom 中将 ojdbc 依赖项标记为“提供”。我也尝试检查我实际上是在处理 Oracle 数据源,因此我检查了以下内容:

System.out.println("Class: " + conn.getMetaData().getClass());
System.out.println("Driver: " + conn.getMetaData().getDriverName());
System.out.println("Name: " + conn.getMetaData().getDatabaseProductName());
System.out.println("isWrapperFor OracleConnection: " + conn.isWrapperFor(OracleConnection.class));

/* Output: 
Class: com.ibm.ws.rsadapter.jdbc.WSJdbcDatabaseMetaData
Driver: Oracle JDBC driver
Name: Oracle
isWrapperFor OracleConnection: false
*/

即使它是我所看到的 Oracle 连接,“WsJdbcConnection 不包装 oracle.jdbc.OracleConnection 类型的对象”。

标签: javaspringoraclejdbcwebsphere

解决方案


推荐阅读