我们如何在 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
下面我尝试解决的步骤
- 添加了附加参数
enableConnectionCasting
以获得本机连接。
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>
我在从 WSJDbConnection
连接对象解包本机连接时遇到以下异常:
Exception data: java.lang.ClassCastException: com.ibm.ws.rsadapter.jdbc.v41.WSJdbc41Connection cannot be cast to oracle.jdbc.OracleConnection
下面我尝试解决的步骤
- 添加了附加参数
enableConnectionCasting
以获得本机连接。 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>