2011-12-16 13 views
12

Potrzebuję połączyć DB2 z Javą. Uprzejmie pomóc mi połączyć DB2 z java w ECLIPSE. To byłoby bardzo pomocne, jeśli można kierować mi krok po kroku Proszę dać mi znać, jak dodać ścieżkę klasy w Eclipse fragment kodu:połączyć DB2 z Javą

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; 
     } 
    } 

} 

Na uruchomiony kod mam następującymi wyjątkami:

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) 

Odpowiedz

14

Musisz poprawić nazwę pakietu.

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

Aby dodać .jar w projekcie => Project Properties + Budowa + Java Path + Wybierz "Biblioteki" kartę + Dodaj Jars zewnętrzne ...

+1

Mine używa com.ibm.db2.jcc.DB2Driver ... nie wiem jaka jest różnica – ESP

+0

@ESP Dodano moją odpowiedź na twoje pytanie. –

+0

Czy ktoś mógłby dodać link do pobrania i instalacji sterownika? –

6

Prosimy spróbować użyć

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

Mam nadzieję, że ten link może ci pomóc. PUBLIB

Pozdrowienia

+0

moje śmieszne pytanie, czy wiesz coś o AS400, ponieważ nie mogę znaleźć sterownika dla przestarzałej wersji DB2 6.1 – mKorbel

+1

proszę zignorować to, znalazłem jt400. jar .... – mKorbel

+0

Lol, mój BAD, nigdy wcześniej nie słyszałem o AS400, tyle tylko, że jest związany z IBM, ale nie jestem tego pewien, ale spójrz na to [LINK] (http://www-03.ibm .com/systems/i/software/toolbox/downloads.html) i to [JT400admin] (http://sourceforge.net/projects/jt400/) Cieszę się, że to znalazłeś :-) –

3

Żadne z powyższych przykładach pracował dla mnie, ale to zrobił:

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

Te dwa sterowniki są ładowane z różnych naczyniach. Ten ostatni jest ładowany z jt400.

6

Nazwa sterownika zależy od używanego sterownika.
Użyj COM.ibm.db2.jdbc.app.DB2Drive, gdy db2java.zip jest na twojej ścieżce.
Użyj com.ibm.db2.jcc.DB2Driver, gdy db2jcc.jar & db2jcc_license_cu.jar są w Twojej ścieżce klas.

śledzić także na poniższym tutorialu
Razorsql Help
IBM JDBC help

+0

drugi link jest martwy –