2013-07-25 2 views
0

Websphere 8.0 서버 및 DB2 Universal Driver에서 JNDI를 사용하여 DB2 데이터베이스에 액세스하려고합니다. 연결이 설정 될 때마다 연결이 성공적으로 가져온되지만 쿼리가 실행되면 다음과 같은 메시지가 쇼의 SystemOut.log에있는이와 함께오류 DSRA9542W WAS 8.0에서 JNDI를 사용하여 DB2에 액세스하는 중

 
[7/25/13 8:06:19:800 CDT] 0000001d WSRdbDataSour W DSRA9542W : The JDBC Driver that is configured with the data source for the Application Server does not support the extending data source properties feature. The Application Server will not honor the extended data source properties. 
[7/25/13 8:06:19:816 CDT] 0000001d InternalGener I DSRA8203I : Database product name : DB2 
[7/25/13 8:06:19:831 CDT] 0000001d InternalGener I DSRA8204I : Database product version : DSN10012 
[7/25/13 8:06:19:831 CDT] 0000001d InternalGener I DSRA8205I: JDBC driver name : IBM DB2 JDBC Universal Driver Architecture 
[7/25/13 8:06:19:831 CDT] 0000001d InternalGener I DSRA8206I : JDBC driver version : 3.52.95 
[7/25/13 8:06:19:831 CDT] 0000001d InternalDB2Un I DSRA8212I : DataStoreHelper name is: [email protected] 
[7/25/13 8:06:19:831 CDT] 0000001d WSRdbDataSour I DSRA8208I : JDBC driver type : 4 

, 다음과 같은 예외가 발생 :

 
2013-07-24 19:51:10,214 ERROR [DefaultQuartzScheduler_Worker-3] util.Utility (Utility.java:141) - com.ibm.db2.jcc.a.kn: DB2 SQL Error: SQLCODE=-807, SQLSTATE=23509, SQLERRMC=NULLID.SYSLN300;REMOTE, DRIVER=3.52.95 
     at com.ibm.db2.jcc.a.ad.a(ad.java:662) 
     at com.ibm.db2.jcc.a.ad.a(ad.java:60) 
     at com.ibm.db2.jcc.a.ad.a(ad.java:127) 
     at com.ibm.db2.jcc.a.rl.c(rl.java:2424) 
     at com.ibm.db2.jcc.a.rl.d(rl.java:2401) 
     at com.ibm.db2.jcc.a.rl.a(rl.java:1902) 
     at com.ibm.db2.jcc.a.rl.a(rl.java:1880) 
     at com.ibm.db2.jcc.t4.db.g(db.java:133) 
     at com.ibm.db2.jcc.t4.db.a(db.java:38) 
     at com.ibm.db2.jcc.t4.t.a(t.java:32) 
     at com.ibm.db2.jcc.t4.sb.h(sb.java:141) 
     at com.ibm.db2.jcc.a.rl.Y(rl.java:1873) 
     at com.ibm.db2.jcc.a.sl.bc(sl.java:2526) 
     at com.ibm.db2.jcc.a.sl.e(sl.java:3227) 
     at com.ibm.db2.jcc.a.sl.Ob(sl.java:569) 
     at com.ibm.db2.jcc.a.sl.executeQuery(sl.java:543) 
     at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteQuery(WSJdbcPreparedStatement.java:1086) 
     at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeQuery(WSJdbcPreparedStatement.java:707) 
     at com.buildbenefitsets.dao.PCIRuleDao.getAnswerSet(PCIRuleDao.java:52) 
     at com.buildbenefitsets.pcibsirule.PCIRuleExecution.getPCIScreenData(PCIRuleExecution.java:182) 
     at com.buildbenefitsets.pcibsirule.PCIRuleExecution.getPCIReplication(PCIRuleExecution.java:65) 
     at com.buildbenefitsets.jobs.MSIorPCIWriteJob.execute(MSIorPCIWriteJob.java:66) 
     at org.quartz.core.JobRunShell.run(JobRunShell.java:213) 
     at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) 

Websphere 관리 터미널에서 연결을 테스트하면 연결에 성공한 것입니다. 정상적인 JDBC를 사용해 보았는데 정상적으로 작동했습니다.

아무도 도와 줄 수 있습니까?

+0

데이터베이스에 연결할 때'util.Utility'에서 관련 부분을 보여줄 수 있습니까? – mthmulders

+0

-807은 유효한 DB2 오류 코드와 같지 않습니다. 그것에 대하여 너는 확신하니? 어떤 DB2 버전/플랫폼에 액세스하고 있습니까? – mustaccio

+0

[적어도 z/OS에서] (http://pic.dhe.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.codes%2Fsrc%) 2Ftpc % 2Fn807.htm). – mthmulders

답변

0

나는이 오류가 꽤 somtimes 참조하십시오. 데이터베이스에 Fixpack을 설치 한 후에 발생합니다.

클라이언트 패키지를 리 바인드 한 후 항상이 문제를 해결했습니다.

자세한 방법은 here (DB2 v9.5 정보 센터)를 참조하십시오.

--- 업데이트 ---

DB2 JDBC 드라이버 버전도 확인하십시오.

+0

나는 문제를 알아 냈다. 2 가지 이슈가 있습니다 : (a) 경고 메시지 (b) 쿼리를 실행하는 중 예외. (a) DB2JCC 드라이버를 업데이트하고 문제를 해결했습니다. 두 번째 (b)는 Websphere의 기본 격리가 SYSLN300 이었기 때문에 선택된 패키지이므로 몇 가지 바인딩 문제가 있습니다. 이 패키지가 선택되지 않게하기 위해 패키지를 SYSLN300에서 적절히 바인드 된 SYSLN200으로 변경 한 분리 레벨을 READ_COMMITTED로 변경했습니다. 따라서 쿼리가 올바르게 실행되었습니다. @ Seb.B. 당신이 옳았 ! –