我使用Websphere 18自由版本。 当我试图解开java.sql.Connection中以oracle.jdbc.OracleConnection我得到的
`DSRA9122E:com.ibm.ws.rsadapter.jdbc.WSJdbcConnection@d3t7e556不换型oracle.jdbc.OracleConnection的任何对象
在sever.xml文件正在使用ojdbc7.jar为数据源,也是在应用程序中添加我从同一位置同一罐子。 不过现在面临的问题。 我提到的所有链接WSJDBCConnection不换型oracle.jdbc.OracleConnection的对象是这样的。 不过现在面临同样的问题。
为了Connection.unwrap
正常工作,自由DataSource和应用程序都必须加载同一类加载器供应商的实现类(oracle.jdbc.OracleConnection)。
下面是如何既DataSource和配置应用程序使用相同的类加载器从包含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>
你不需要解开来的OracleConnection。 您可以使用Connection对象建立与数据库的连接。
// Get a context for the JNDI look up
DataSource ds = getDataSource();
try (Connection connection = ds.getConnection()) {
{
executeBusinessLogicOnDatabase(connection));
......
}
connection.close();
}
文章来源: I get the `DSRA9122E: com.ibm.ws.rsadapter.jdbc.WSJdbcConnection@d3t7e556 does not wrap any objects of type oracle.jdbc.OracleConnection