java - 从 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 类型的对象”。
解决方案
推荐阅读
- c# - 复制或换行时出现缩进和间距问题
- spacy - Noob pip install spacy requirements error code 1 on 32 bit VM
- python - 将 AsyncHTTPClient 或其他可等待对象放入 Tornado 的 get 方法中,将自动创建 ThreadPoolExcutor
- javascript - 根据一些参数遍历 HTML 表格
- javascript - chrome.hid.getDevices() 类型错误
- java - java multipart文件如果修改了文件扩展名,如何找到mime类型?
- javascript - 如何获得 vuejs 所需的输入
- c# - 如何从 MS Access 为变量赋值
- guice - 如何使用 Guice 将泛型类型注入非泛型接口类型
- jquery - 内部 for 循环“请求函数”仅针对最后一个“if else”语句执行 5 次并跳过先前的条件