Spring Boot DB2连接无法正常工作

时间:2017-10-28 06:31:33

标签: spring spring-boot

我正在尝试使用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>

1 个答案:

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

相关问题