访问独立Java项目中的DB2数据库

时间:2010-07-01 23:02:15

标签: java database

我需要在普通的独立Java项目中访问DB2数据库。

我不能使用容器中的数据源吗?我是否需要编写JDBC连接?

4 个答案:

答案 0 :(得分:1)

JDBC连接

答案 1 :(得分:1)

您需要在程序的编译时运行时类路径中包含必需的db2 JDBC jar。 如果在目标计算机上安装了本机DB2客户机,则可以使用JDBC ODBC Bridge。但是,最好坚持使用纯Java-type4驱动程序。 (db2jcc.jar,db2jcc_license * .jar等)

一旦驱动程序在类路径中,您可以使用通常的JDBC代码开始。如:

import java.sql.*;
import java.lang.*;
import java.io.*;
import Com.ibm.db2.jcc.*;  //Type4 library
public class DB2Sample{
  static
  {
    try 
    {       

      Class.forName("com.ibm.db2.jcc.DB2Driver");
    } 
    catch (ClassNotFoundException e)
    {
       System.err.println("Could not load DB2 driver \n");
       System.err.println(e.getMessage());
       System.exit(1);
    }

public static void main(String args[]) 
  {

    /* Type 4 driver url */
    String url = "jdbc:db2j:net://machine-name:port-number/TGSAMPLE";
         Connection conn = DriverManager.getConnection(url,"userid", "psswrd");
...
  }

等等。

查看IBM documentation here for better examples and details

答案 2 :(得分:1)

根据您的需要,自己处理JDBC连接或使用独立的JDBC池,例如: C3P0DBCPBoneCP

答案 3 :(得分:0)

  

我不能从容器中使用数据源吗?我是否需要编写JDBC连接?

您可以尝试使用JNDI Lookup从容器获取连接。例如see this

但我认为不这样做会容易得多。

  

我是否需要编写JDBC连接?

是的,如果您更容易管理自己的连接。

您还可以使用Apache DBCP或C3PO等连接池。支持独立应用程序连接池的其他人Here's a list