2009-11-05 3 views
0

Websphere Application Server 데이터 소스에 이상한 문제가 있습니다.Websphere Application Server 데이터 소스

환경 :

  • 는 WebSphere Application Server (6.1)
  • 리눅스
  • 을 Liferay 포털 (5.2)
  • 오라클 9i의
  • 최대 절전 모드 3.0

우리는이 데이터 소스 dep java.sql.SQLException의 :에 의한

: DSRA8101E : 데이터 소스 클래스가 될 수 없습니다 우리는 다음과 같은 예외를 얻고있다

<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> 

: 데이터 소스에 대한 ODBC14.jar

최대 절전 모드 설정을 참조하는 응용 프로그램 서버에서 loyed 을 1 단계로 사용 : ClassCastException : oracle.jdbc.pool.OracleConnectionPoolDataSource 과 호환되지 않음 com.ibm.ws.rsadapter.AdapterUtil.toSQLException com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection (WSJdbcDataSource.java:462)에서 (AdapterUtil.java:1375) 에서에서 javax.sql.ConnectionPoolDataSource org.hibernate.jdbc.ConnectionManager에서 com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection org.hibernate.connection.DatasourceConnectionProvider.getConnection (DatasourceConnectionProvider.java:69)에서 (WSJdbcDataSource.java:418) .openConnection

다음 해결 방법을 시도했습니다. 알려주세요. 에 classes12.jar은 WEB-INF/거기에 lib 디렉토리했다 공유/응용 프로그램/lib에 ODBC14.jar와 클래스로드 충돌이 발생할 수 있습니다 ORACLE 드라이버를 가지고

웹 응용 프로그램 해방 및 재배치 응용 프로그램과에서 그래서 제거에 classes12.jar 재시작되었지만 동일한 오류가 다시 발생했습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

답변

1

DSRA8101E : ClassCastException이 : 데이터 소스 클래스 하나 상으로 사용할 수없는 {0} 설명 : 데이터 소스 클래스 ConnectionPoolDataSource를 구현하는 경우에는 'enable2Phase' 속성은 거짓으로 설정 될 수있다. 사용자 응답 : 'enable2Phase'를 XADataSource의 경우 으로 설정하고 ConnectionPoolDataSource의 경우 false로 설정하십시오.

enable2Phase를 false로 설정해 보았습니까?

0

classes12.jar을 사용하려고 할 때 websphere 7에서 동일한 문제가 발생하여 이전 Oracle 데이터베이스에 연결했습니다.

내 솔루션은 websphere 애플리케이션 V4 데이터 소스 (새로운 유형의 데이터 소스는 호환되지 않는 문제를 해결할 것입니다)에 대한 새로운 사용자 정의 jdbc 공급자를 생성하여 이전 classes12.jar를 가리 킵니다.

이전하여 WebSphere V4 데이터 소스

이 옵션이없는

그리고 (해당되는 경우) 클래스 로더의 충돌을 방지하기 위해 새로운 오라클 데이터 소스를 분리하는 분리 옵션을 사용하여 (이것은 매우 중요합니다!).

0

JDBC 제공자 섹션에서 "이 자원 제공자를 분리하십시오."선택란을 체크하십시오.