用Java连接DB2

时间:2011-12-16 06:45:08

标签: java db2

我需要将DB2与Java连接。 请帮我连接 在 ECLIPSE 中使用java DB2 。 如果你可以一步一步指导我,那将是很有帮助的 请告诉我如何在eclipse中添加classpath 代码段:

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;

public class connection {
    public static void main(String[] argv) {
        try {
            Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
        }
        catch (ClassNotFoundException e) {
            System.out.println("Please include Classpath  Where your DB2 Driver is located");
            e.printStackTrace();
            return;
        }
        System.out.println("DB2 driver is loaded successfully");
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rset=null;
        boolean found=false;
        try {
            conn = DriverManager.getConnection("jdbc:db2:sabarish","db2admin","Murugasaranam");
            if (conn != null)
            {
                System.out.println("DB2 Database Connected");
            }
            else
            {
                System.out.println("Db2 connection Failed ");
            }
            pstmt=conn.prepareStatement("Select * from bo");
            rset=pstmt.executeQuery();
            if(rset!=null)
            {

                while(rset.next())
                {
                    found=true;
                    System.out.println("Class Code: "+rset.getString("clcode"));
                    System.out.println("Name: "+rset.getString("name"));
                }
            }
            if (found ==false)
            {
                System.out.println("No Information Found");
            }
        } catch (SQLException e) {
            System.out.println("DB2 Database connection Failed");
            e.printStackTrace();
            return;
        }
    }

}

在运行代码时,我得到以下例外:

 java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.app.DB2Driver
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Unknown Source)
 at connection.main(connection.java:11)

9 个答案:

答案 0 :(得分:14)

您需要更正包名称。

Class.forName("com.ibm.db2.jdbc.app.DB2Driver");

在项目中添加.jar => Project + Properties + Java Build Path +选择“Libraries”选项卡+ Add External Jars ...

答案 1 :(得分:6)

答案 2 :(得分:6)

请尝试使用

Class.forName("com.ibm.db2.jcc.DB2Driver");

希望这个链接可以帮到你一点点。 PUBLIB

此致

答案 3 :(得分:6)

驱动程序名称取决于我们使用的驱动程序。
COM.ibm.db2.jdbc.app.DB2Drive在您的路径中时使用db2java.zip
com.ibm.db2.jcc.DB2Driverdb2jcc.jar时使用db2jcc_license_cu.jar FMX.Types.RegisterShowVKProc(myKeyboardProc)位于您的类路径中。

另请遵循以下教程
Razorsql Help
IBM JDBC help

答案 4 :(得分:3)

上述两个例子都没有对我有用,但确实如此:

Class.forName("com.ibm.as400.access.AS400JDBCDriver");

答案 5 :(得分:1)

这两个驱动程序是从不同的JAR加载的。后者从jt400加载。

答案 6 :(得分:1)

您的网址是T2连接网址。(" jdbc:db2:sabarish") 您正在使用的驱动程序类来自遗留的db2 jdbc驱动程序,该驱动程序不受支持但仍可在db2服务器安装中使用,例如(C:\ Program Files \ IBM \ SQLLIB \ java \ db2java.zip) 在eclipse中,右键单击java项目 - >选择属性。 在属性窗口中,转到Java构建路径。 选择库选项卡。单击Add External Jars按钮并从上面的db2安装位置添加db2java.zip。

建议: 如果您想继续使用最新的db2服务器和驱动程序,请从IBM修复中心下载驱动程序jar。 http://www-01.ibm.com/support/docview.wss?uid=swg21363866 您需要首次注册才能创建IBM ID。 在捆绑包中,您将找到基于JDBC3规范的db2jcc.jar。 在捆绑包中,您将找到基于JDBC4规范的db2jcc4.jar。 如上所述,在项目中添加任何一个jar文件。加载驱动程序类如下。 的Class.forName(" com.ibm.db2.jcc.DB2Driver&#34);  这支持T2和T4连接。

答案 7 :(得分:0)

那么,您首先需要在类路径中有DB2驱动程序。即db2jcc4.jar文件。我注意到的语法错误是:-

您的一行如下所示

conn = DriverManager.getConnection("jdbc:db2:sabarish","db2admin","Murugasaranam"); _______________________________________ ^^^ _________________________________

您应该在db2:之后和像这样的野蛮之前添加两个正斜杠字符(/)

conn = DriverManager.getConnection("jdbc:db2://sabarish","db2admin","Murugasaranam")

答案 8 :(得分:0)

对于db2旧8.x版本,您需要添加此驱动程序 com.ibm.db2.jcc.DB2Driver