我们如何在Liberty Server中为本地连接配置DataSource

时间:2018-12-11 10:04:15

标签: java websphere-liberty

WSJDbConnection连接对象解开本机连接时,我遇到以下异常:

Exception data: java.lang.ClassCastException: com.ibm.ws.rsadapter.jdbc.v41.WSJdbc41Connection cannot be cast to oracle.jdbc.OracleConnection 

下面我尝试解决的步骤

  1. 添加了附加参数enableConnectionCasting以获取本机连接。
  2. DataSource ds = InitialContext.lookup("jdbc/oracleDb");
    OracleConnection con= (OracleConnection) ds.getConnection();
    

1 个答案:

答案 0 :(得分:1)

server.xml中的更改

1)指向公共库的数据源定义

<dataSource jndiName="jdbc/test">
     <jdbcDriver libraryRef="OracleLib"/>
         <properties.oracle
             URL=""
             password=""
             user=""
         />
 </dataSource>

2)库定义

<library id="OracleLib">
     <fileset dir="resources/oracle" includes="*.jar"/>
 </library>

3)将类加载器添加到应用程序配置中,该加载器指向与数据源所使用的库相同的库,并确保ojdbc * .jar不包含在应用程序中

 <webApplication id="OracleWrapper" location="OracleWrapper.war"  name="OracleWrapper">
     <classloader commonLibraryRef="OracleLib">
     </classloader>
 </webApplication>