前言

分享一个工作上遇到的问题,使用JDBC连接DB2数据库,我这里使用的是Gradle,我发现网上使用Gradle的太少了,大部分使用的是maven,不论使用哪一个,都建议下载jar包到本地,使用手动添加进项目里。废话少说直接开始!

1.下载db2jcc4驱动

这边可以去官网下载 https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads 没有IBM账号需要先注册一个账号,然后找到你需要的版本和系统所对应的文件,解压文件。

SQL server建db2链接服务器 链接db2数据库_java

去到此目录下,里面有个压缩包解压就有db2jcc4.jar包了。

SQL server建db2链接服务器 链接db2数据库_数据库_02

2.准备配置文件

下面是添加到application.yml文件中的配置,注意格式对齐
之后更改用户名和密码,还有测试的表名在这里插入代码片

Spring 
	 datasource:
	    type: com.alibaba.druid.pool.DruidDataSource
	    #这边会报红即使引入jar包后还是会,但是项目照样可以启动和访问数据,可以不管
	    driver-class-name: com.ibm.db2.jcc.DB2Driver  
	    url: jdbc:db2://192.168.1.78:50000/SAMPLE:currentSchema=DB2INST1;
	    username: /*用户名*/
	    password: /*密码*/
	    # 初始连接数
	    initialSize: 5
	    # 最小连接池数量
	    minIdle: 10
	    # 最大连接池数量
	    maxActive: 20
	    # 配置获取连接等待超时的时间
	    maxWait: 60000
	    # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
	    timeBetweenEvictionRunsMillis: 60000
	    # 配置一个连接在池中最小生存的时间,单位是毫秒
	    minEvictableIdleTimeMillis: 300000
	    # 配置一个连接在池中最大生存的时间,单位是毫秒
	    maxEvictableIdleTimeMillis: 900000
	    # 配置检测连接是否有效     注意这里DUAL是检测的表名,可以是当前schema下的任意一张表
	    validationQuery: SELECT 1 FROM /* 表名*/
	    testWhileIdle: true
	    testOnBorrow: false
	    testOnReturn: false
	    webStatFilter:
	      enabled: true
	    statViewServlet:
	      enabled: true
	      # 设置白名单,不填则允许所有访问
	      allow:
	      url-pattern: /druid/*
	    filter:
	      stat:
	        enabled: true
	        # 慢SQL记录
	        log-slow-sql: true
	        slow-sql-millis: 1000
	        merge-sql: true
	      wall:
	        config:
	          multi-statement-allow: true

3.引入jar包

以下是针对使用Gradle的
在项目里和src包的同一级目录中新建一个lib,把刚刚下载的驱动添加到lib包下

SQL server建db2链接服务器 链接db2数据库_java_03

然后在build.gradle中配置

dependencies {
		implementation files('lib/db2jcc4.jar')
}

以上是使用Gradle

如果使用的是maven,打开控制台在 jar 包同一级目录下执行如下命令将 jar 包安装到本地仓库:
注意是和jar包同一级

mvn install:install-file -Dfile=db2jcc4.jar -DgroupId=com.ibm.db2 -DartifactId=db2jcc4 -Dversion=4.26.14 -Dpackaging=jar

安装完毕后,项目中就可以在pom文件中引入了:

<dependency>
    <groupId>com.ibm.db2</groupId>
    <artifactId>db2jcc4</artifactId>
    <version>4.26.14</version>
</dependency>

不知道版本的可以使用以下命令查看版本号

java -cp ./db2jcc4.jar com.ibm.db2.jcc.DB2Jcc -version