유형 2 연결을 사용하는 CICS의 jvm 서버에서 OSGi 번들로 DB2에 연결하려고하는데 아래 오류가 발생합니다.CICS의 Java JDBC에서 Db2 네이티브 라이브러리로드 오류가 발생 했습니까?
com.ibm.db2.jcc.am.SqlException: Failure in loading native library db2jcct2zos_64, java.lang.UnsatisfiedLinkError: db2jcct2zos_64 (Not found in java.library.path): ERRORCODE=-4472, SQLSTATE=null
난은 OSGi의 JVM 프로파일에 LIBPATH_SUFFIX에있는 파일 libdb2jcct2zos4_64.so libdb2jcct2zos4.so, ibdb2jcct2zos_64.so의 libdb2jcct2zos.so 들어있는 디렉토리를 언급했다.
내가 System.load를 사용하여 자바 프로그램에서 이러한 DLL을로드하려고하면
("는/usr/DB2/V10/JDBC/lib 디렉토리/libdb2jcct2zos_64.so"), 나는"EDC5205S DLL module not found".
실제로 환경 문제가 발생했으며 오류가 발생하지 않아서 지역의 steplib을 변경해야했습니다. 아래 오류가 나타납니다. com.ibm.db2.jcc.am.SqlSyntaxErrorException : [jcc] [5003] [12311] [3.69.56] T2zOS 예외 : [jcc] [T2zos] T2zosConnection.flowConnect : execConnect : 1425 : DB2 엔진 SQL 오류, SQLCODE = -922, SQLSTATE = 42505, 오류 토큰 = PLAN ACCESS; 00F30034 ERRORCODE = -922, SQLSTATE = 42505 다음 Java 코드를 사용하여 DB2에 연결 –
jdbcURL = "jdbc : default : connection"; \t \t { \t \t \t 연결 = DriverManager.getConnection (jdbcURL); \t \t \t connection.setAutoCommit (false); \t \t} 캐치 (예외 : SQLException 전자) { \t \t \t System.out에 \t \t \t \t \t .println ("연결을 받고에서의 SQLException 예외"); \t \t \t e.printStackTrace(); \t \t \t throw e; \t \t –
해당 코드를 검색하면 JDBC를 실행하는 사용자에게 지정된 DB2 계획을 사용할 권한이 없거나 계획이 존재하지 않아 실패한 것을 알게됩니다. 사용 된 계획을 변경하는 f}에 대한 예제는 https://www.ibm.com/support/knowledgecenter/SSEPEK_12.0.0/java/src/tpc/imjcc_r0052040.html의 'planName'등록 정보를 참조하거나 사용자 계획에 대한 권한이있다. –