java - 我得到`DSRA9122E : com. ibm.ws.rsadapter.jdbc.WSJdbcConnection@d3t7e556 不包装任何类型为 oracle.jdbc.OracleConnection 的对象

标签 java oracle jdbc websphere websphere-liberty

我正在使用 Websphere 18 Liberty 版本。当我尝试将 java.sql.connection 解包到 oracle.jdbc.OracleConnection 时,我得到了

`DSRA9122E: com.ibm.ws.rsadapter.jdbc.WSJdbcConnection@d3t7e556 does not wrap any objects of type oracle.jdbc.OracleConnection

在 sever.xml 文件中,我使用 ojdbc7.jar 作为数据源,也在应用程序中我从同一位置添加了相同的 jar。我仍然面临这个问题。我引用了所有链接 WSJDBCConnection does not wrap objects of type oracle.jdbc.OracleConnection像这样。我仍然面临同样的问题。

最佳答案

为了使 Connection.unwrap 正常工作,Liberty 数据源和应用程序必须从同一个类加载器加载供应商实现类 (oracle.jdbc.OracleConnection)。

这里是一个简单的示例,说明如何配置数据源和应用程序以使用相同的类加载器从包含 Oracle JDBC 驱动程序的单个库进行加载,

<library id="OracleLib">
    <fileset dir="${server.config.dir}/oracle"/>
</library>

<application location="myApp.war" >
    <classloader commonLibraryRef="OracleLib"/>
</application>

<dataSource jndiName="jdbc/oracleDataSource">
    <jdbcDriver libraryRef="OracleLib"/>
    <properties.oracle .../>
</dataSource>

关于java - 我得到`DSRA9122E : com. ibm.ws.rsadapter.jdbc.WSJdbcConnection@d3t7e556 不包装任何类型为 oracle.jdbc.OracleConnection 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53607238/

相关文章:

java - SWT:如何进行高质量图像调整大小

java - 使 Java JScrollpane 垂直滚动而不是水平滚动

c# - Oracle 客户端与基于任务的异步模式(异步/等待)

java - 如何从java中等批量地从oracle中批量获取数据

Java, JDBC : Does closing a PreparedStatement also free up its memory footprint in the database connection?

sql - 显示未知索引名称的死锁图

java - 在 Google Android 中以编程方式连接到 WiFi?

java - 加载本地保存在 Xamarin 中的图像?

mysql - SSRS多个数据库源要加入

java - 得到???使用 JDBC 从 dbms_output.get_lines 输出