Posts Tagged ‘ jdbc

[Java]Setup DB2 9.x Connection Pool on Weblogic 8.1

มีเรื่องราวให้ได้เปลี่ยนจาก Oracle 9i มาใช้ IBM DB2 9.7 ปัญหาที่เจอคือใน Weblogic 8.1 ไม่มี driver สำหรับ DB2 9.7 ในขั้นตอนการสร้าง Connection Pool
1. ให้ทำการ Set classpath ให้กับ db2jcc.jar และ db2jcc_license_cu.jar (อยู่ใน Path ที่ติดตั้ง DB2\java) โดยเปิด ไฟล์

C:\bea\user_projects\domains\<domain-name>\startWebLogic.cmd

เพิ่มบรรทัดดังนี้เข้าไปหลังบรรทัด set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS%

set CLASSPATH=%CLASSPATH%;<db2-path>\java\db2jcc.jar;<db2-path>\java\db2jcc_license_cu.jar

2. จากนั้นทำการ start server และเข้าไปยัง console ของ Weblogic ตอนสร้าง Connection Pool ให้เลือก DB2 -> Others ดังรูป

3. ทำการกรอกข้อมูล Conection ดังรูป

โดย

Driver Classname :ให้ใช้ com.ibm.db2.jcc.DB2Driver
URL :ใช้รูปแบบ jdbc:db2://<server>:<port>/<database>
	- <server> ชื่อเครื่อง server หรือ IP Address
	- <port> เป็น port (ค่า default คือ 50000)
	- <database> ชื่อฐานข้อมูล

และกรอก User/Password
4. คลิกปุ่ม Test Driver Configuration ถ้าไม่มีปัญหาอะไร จะได้ดังรูป

5. คลิก Create and deploy ก็สามารถใช้งานได้แล้วครับ
แหล่งอ้างอิง
Configure DB2 UDB with third-party application servers

[Java] JDBC Version & Database Version

มีงานเล็กน้อย จากเจ้านายให้หาว่า JDBC Driver ที่ใช้กันอยู่นั้น Version อะไร เนื่องจาก Consult ที่มาทำงานด้วยต้องนำไปทดลองกับงานที่เค้าต้องใช้ วิธีการก็ตามนี้เลยครับ ใช้ความสามารถของ DatabaseMetaData

/**
 * File Name : JDBCVersion.java
 * Created Date : Sep 22, 2010 : 1:16:57 PM
 */
package com.fun4station.example;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBCVersion {

	public static void main(String[] args) throws SQLException {
		Connection conn = GetConnection();

		DatabaseMetaData dbMeta = conn.getMetaData();
		System.out.println("DriverVersion : "+ dbMeta.getDriverVersion());
		System.out.println("DatabaseMajorVersion : "+ dbMeta.getDatabaseMajorVersion());
		System.out.println("JDBCMajorVersion : "+ dbMeta.getJDBCMajorVersion());
	}
	
	private static Connection GetConnection(){
		Connection conn = null;
		try {
			String url = "jdbc:oracle:thin:@localhost:1521:JDEV";
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(url, "user", "pass");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return conn;
	}
}

นอกจาก JDBC Version และ Databse version แล้วยังบอกข้อมูลอื่นๆอีกหลายอย่าง
แหล่งข้อมูล
Interface DatabaseMetaData

[Java] Example Connect to DB2

เนื่องจากมีโอกาสได้มาใช้ DB2 ของ IBM เลยบันทึกการใช้งานคร่าวๆดังนี้
1. Connection ใช้รูปแบบดังนี้
JDBC : com.ibm.db2.jcc.DB2Driver
URL : jdbc:db2//[host]:[port]/[Database Name]

private static Connection getConnection() throws Exception {
	Connection db2Conn = null;
	try {
		String url = "jdbc:db2://localhost:50000/sample";
		Class.forName("com.ibm.db2.jcc.DB2Driver");
		db2Conn = DriverManager.getConnection(url,"DB2ADMIN","java");
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	}
	
	return db2Conn;
}

ทดลองดึงข้อมูลมาแสดง

public static void main(String[] args) {
	try {
		Connection db2Conn = getConnection();
		
		String sql = "SELECT DEPTNO, DEPTNAME FROM DEPARTMENT";
		Statement stmt = db2Conn.createStatement();
		ResultSet rs = stmt.executeQuery(sql);
		while(rs.next()){
			System.out.print(rs.getString("DEPTNO"));
			System.out.println(" - "+rs.getString("DEPTNAME"));
		}
		
		rs.close();
		stmt.close();
		closeConnection(db2Conn);
	} catch (Exception e) {
		e.printStackTrace();
	}
}

Read more

ตัวอย่าง JDBC Connection Driver

Note ไว้กันลืมครับ รูปแบบ JDBC Driver ต่างๆ ของ Database แต่ละตัว
Database Name : Apache Derby(embedded database)

driver-class : org.apache.derby.jdbc.EmbeddedDriver
connection-url : jdbc:derby:[dbname];[Property List]
connection-url : jdbc:derby://[host]/[dbname];[Property List]
example : jdbc:derby:testdb;create=true
example : jdbc:derby://localhost/testdb;create=true

Database Name : DB2

driver-class : com.ibm.db2.jcc.DB2Driver
connection-url : jdbc:db2://[host]:[port]/[dbname]
example : jdbc:db2://localhost:50000/sample

Database Name : Firebird

driver-class : org.firebirdsql.jdbc.FBDriver
connection-url : jdbc:firebirdsql:[host]/[port]:[path to db(*.fdb)]
example : jdbc:firebirdsql:localhost/3050:C:/testdb.fdb

Database Name : Hypersonic (embedded database)

driver-class : org.hsqldb.jdbcDriver
connection-url : (Memory) jdbc:hsqldb:mem:[dbname]
connection-url : (Standalone) jdbc:hsqldb:file:[path to db]
connection-url : (DB Server) jdbc:hsqldb://localhost/[dbname]
example : (Memory) jdbc:hsqldb:mem:testdb
example : (Standalone) jdbc:hsqldb:file:C:/testdb
example : (DB Server) jdbc:hsqldb://localhost/testdb

Read more