安裝完DB2后,SQLLIB文件夾下的java目錄下有對應的jar包,我的SQLLIB文件夾位置在 D:\Program Files\IBM\SQLLIB\java 處。
此目錄直接添加到CLASSPATH下,但是還是不能連接。
於是嘗試maven手動添加jar包。
首先在~目錄(如果你的用戶名是xiaoming,則對應C:\users\xiaoming)新建一個文件夾additional_jars,然后把SQLLIB\java目錄下的db2jcc.jar、db2jcc_license_cu.jar、db2jcc4.jar拷貝到該目錄下。
然后命令行進入到~/additional_jars文件夾下。
db2jcc
mvn install:install-file "-DgroupId=com.ibm.db2" "-DartifactId=db2jcc" "-Dversion=8.1" "-Dpackaging=jar" "-Dfile=db2jcc.jar"
db2jcc4
mvn install:install-file "-DgroupId=com.ibm.db2.jcc" "-DartifactId=db2jcc4" "-Dversion=10.1" "-Dpackaging=jar" "-Dfile=db2jcc4.jar"
db2jcc_license_cu
mvn install:install-file "-DgroupId=com.ibm.db2" "-DartifactId=db2jcc_license_cu" "-Dversion=9.7" "-Dpackaging=jar" "-Dfile=db2jcc_license_cu.jar"
pom.xml
在項目的pom.xml中添加如下依賴:
<!-- https://mvnrepository.com/artifact/com.ibm.db2/db2jcc -->
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>db2jcc</artifactId>
<version>8.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.ibm.db2.jcc/db2jcc4 -->
<dependency>
<groupId>com.ibm.db2.jcc</groupId>
<artifactId>db2jcc4</artifactId>
<version>10.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.ibm.db2/db2jcc_license_cu -->
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>db2jcc_license_cu</artifactId>
<version>9.7</version>
</dependency>
db2命令行創建數據庫
進入命令行,輸入db2cmd
,然后輸入db2 create database zi
創建一個名為zi
的數據庫。等候一段時間,會出現如下提示:
C:\Users\wang>db2 create database zi
DB20000I CREATE DATABASE 命令成功完成。
說明創建好了。
以下Java程序用於檢測:
package com.anbank.datafetch;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DB2Handle {
public static void main(String[] args) {
String jdbcClassName="com.ibm.db2.jcc.DB2Driver";
String url="jdbc:db2://localhost:50000/zi";
String user="db2admin";
String password="password";
Connection connection = null;
try {
//Load class into memory
Class.forName(jdbcClassName);
//Establish connection
connection = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
if(connection!=null){
System.out.println("Connected successfully.");
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}