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

How do we configure DataSource in Liberty Server for native connection

我在从 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();
    

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>