2011-12-16 11 views
12

DB2とJavaを接続する必要があります。 ECLIPSEのjavaを使用して接続してください。JavaとDB2を接続

:私は次の例外を得たコードを実行するには

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) 

答えて

14

パッケージ名を修正する必要があります。 Javaは

+1

Mineはcom.ibm.db2.jcc.DB2Driverを使用しています...違いが何であるかわかりません – ESP

+0

@ESP質問に対する私の回答を追加しました。 –

+0

ドライバをダウンロードしてインストールするリンクを追加してもらえますか? –

6

put db2jcc.jar on your classpathと思ってください。

+0

ハイテクに従ってくださいあなたは日食 – ramya

+0

@ramyaにクラスパスを設定する方法を助けてもらえ、私はAVDの答えはあなたがカバーしていると思います。 – buruzaemon

6

Class.forName("com.ibm.db2.jcc.DB2Driver"); 
を使用してみてください... +ビルドパスを選択し、 "ライブラリ" タブが+外部JARの追加+ =>プロジェクト+ [プロパティプロジェクト内の.jar追加するには

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

うまくいけば、このリンクはもう少しあなたを助けるかもしれない。 PUBLIB

よろしく

+0

私の面白い質問です。古いDB2バージョン6.1のドライバが見つかりませんでしたので、AS400について知っていますか? – mKorbel

+1

jt400を無視してください。 jar .... – mKorbel

+0

Lol、私のBAD、前にAS400を聞いたことはありません.IBMに関連していることは確かですが、確かに分かりませんが、この[リンク](http://www-03.ibm .com/systems/i/software/toolbox/downloads.html)とこの[JT400admin](http://sourceforge.net/projects/jt400/)。嬉しいです:-) –

3

どちらも上記の例のは、私のために働いたが、これはやった:

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

これらの2つのドライバは異なるJARファイルからロードされています。後者はjt400からロードされます。

6

ドライバ名は、使用しているドライバによって異なります。
db2java.zipがあなたのパスにある場合、COM.ibm.db2.jdbc.app.DB2Driveを使用してください。
db2jcc.jar & db2jcc_license_cu.jarがクラスパスにある場合は、com.ibm.db2.jcc.DB2Driverを使用してください。

はまた、以下のチュートリアル
Razorsql Help
IBM JDBC help

+0

第2のリンクは死んでいる.. –