Database WebSphereApplicationServer数据源
我们在WebSphereApplicationServer数据源方面面临一个奇怪的问题 环境:Database WebSphereApplicationServer数据源,database,oracle,hibernate,jdbc,websphere-6.1,Database,Oracle,Hibernate,Jdbc,Websphere 6.1,我们在WebSphereApplicationServer数据源方面面临一个奇怪的问题 环境: WebSphereApplicationServer(6.1) Linux Liferay门户(5.2) 甲骨文9i Hibernate3.0 我们在应用服务器中部署了数据源,引用了ODBC14.jar 数据源的休眠配置: <property name="connection.datasource">jdbc/appDB</property> <property na
- WebSphereApplicationServer(6.1)
- Linux
- Liferay门户(5.2)
- 甲骨文9i
- Hibernate3.0
ODBC14.jar
数据源的休眠配置:
<property name="connection.datasource">jdbc/appDB</property>
<property name="jndi.class">com.ibm.websphere.naming.WsnInitialContextFactory</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.autocommit">false</property>
jdbc/appDB
com.ibm.websphere.naming.WsnInitialContextFactory
org.hibernate.dialogue.oracle9dialogue
假的
我们得到以下例外情况:
原因:java.sql.SQLException:
DSRA8101E:无法创建数据源类
用作一个阶段:ClassCastException:
oracle.jdbc.pool.OracleConnectionPoolDataSource
不符合
javax.sql.ConnectionPoolDataSource位于
com.ibm.ws.rsadapter.AdapterUtil.toSQLException(AdapterUtil.java:1375)
在
com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:462)
在
com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:418)
在
org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:69)
在
org.hibernate.jdbc.ConnectionManager.openConnection
我们尝试了以下解决方法
知道classes12.jar在WEB-INF/lib中
它有ORACLE驱动程序,可能会导致类加载与Shared/apps/lib ODBC14.jar冲突
所以从Web应用程序库中删除classes12.jar,重新部署应用程序并重新启动,但再次出现相同的错误。有没有办法解决这个问题
DSRA8101E:无法创建数据源类
用作一个阶段:ClassCastException:
{0}说明:“enable2Phase”
属性只能在以下情况下设置为false
DataSource类实现了
ConnectionPoolDataSource。使用者
响应:将“enable2Phase”设置为true
对于Xadasource或对于false
ConnectionPoolDataSource
您是否尝试将enable2Phase设置为false?当我尝试使用classes12.jar连接到旧的oracle数据库时,我在websphere 7中遇到了相同的问题 我的解决方案是为WebSphereApplicationV4数据源创建一个新的用户定义的jdbc提供程序(新类型的数据源将导致不兼容的问题),它将指向旧的classes12.jar 并使用隔离选项隔离新的oracle数据源(如果有),以防止类加载器冲突(这非常重要!)
旧的WebSphereV4数据源没有此选项。在JDBC提供程序部分,选中复选框“隔离此资源提供程序”对我来说很有效