我正在尝试使用Spring Boot应用程序连接DB2数据库。但是当我运行我的应用程序时会出现以下异常。
com.ibm.db2.jcc.am.SqlException: [jcc][10389][12245][4.7.89] Failure in loading native library db2jcct2, java.lang.UnsatisfiedLinkError: no db2jcct2 in java.library.path: ERRORCODE=-4472, SQLSTATE=null
at com.ibm.db2.jcc.am.dd.a(dd.java:660)
at com.ibm.db2.jcc.am.dd.a(dd.java:60)
at com.ibm.db2.jcc.am.dd.a(dd.java:94)
at com.ibm.db2.jcc.t2.a.a(a.java:37)
at com.ibm.db2.jcc.t2.T2Configuration.<clinit>(T2Configuration.java:94)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:188)
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:307)
请找到我的pom.xml配置,如下所示。我的配置中缺少任何内容。如何修复此问题。我正在使用DataSourceBuilder创建数据源。
我的Pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<!--DB2 Jars -->
<dependency>
<groupId>com.ibm.db2.jcc</groupId>
<artifactId>db2jcc</artifactId>
<version>4.7.89</version>
</dependency>
<dependency>
<groupId>javax.sql</groupId>
<artifactId>jdbc-stdext</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>db2jcc-license-cu</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>db2jcc-license-cisuz</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
答案 0 :(得分:2)
基于异常消息Failure in loading native library db2jcct2, java.lang.UnsatisfiedLinkError
。
答案可以在IBM Support中找到。
看来,您的JDBC网址类型2 ,可能看起来像 jdbc:db2:DB_NAME 。在此模式下,JDBC驱动程序通过额外库连接到数据库。可以通过安装DB2客户机(或服务器)来获取这些文件。
将JDBC网址更改为类型4 是另一种解决方法。官方支持网站提供more detail about URL format。