2011-12-16 7 views
12

Ho bisogno di connettere DB2 con Java. Gentilmente aiutami a connetterti allo DB2 con java in ECLIPSE. Sarebbe di grande aiuto se si potesse guidarmi passo dopo passo prega fatemi sapere come aggiungere classpath in Eclipse frammento di codice:Connetti DB2 con Java

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

} 

Sulla esecuzione del codice ho ottenuto le seguenti eccezioni:

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) 

risposta

14

È necessario correggere il nome del pacchetto.

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

Per aggiungere .jar nel progetto => Progetto + Proprietà + Java Build Path + Selezionare "Biblioteche" scheda + Aggiungi Vasi esterne ...

+1

Il mio utilizza com.ibm.db2.jcc.DB2Driver ... non so quale sia la differenza – ESP

+0

@ESP Aggiunta la mia risposta alla tua domanda. –

+0

qualcuno potrebbe aggiungere un collegamento per scaricare e installare il driver? –

6

Si prega di provare a utilizzare

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

Speriamo che questo link possa aiutarti un po 'di più. PUBLIB

saluti

+0

la mia domanda divertente, sai qualcosa su AS400, perché non riesco a trovare il driver per DB2 versione 6.1 6.1 obsoleto – mKorbel

+1

per favore ignora questo, ho trovato jt400. jar .... – mKorbel

+0

Lol, my BAD, non ho mai sentito parlare di AS400 prima, tanto che è associato all'IBM credo non sia sicuro, ma date un'occhiata a questo [LINK] (http://www-03.ibm .com/systems/i/software/toolbox/downloads.html) e questo [JT400admin] (http://sourceforge.net/projects/jt400/). Sono felice di averlo trovato :-) –

3

Nessuno dei due esempi sopra funzionato per me, ma questo ha fatto:

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

Questi due driver vengono caricati da diversi vasi. Quest'ultimo è caricato da jt400.

6

Il nome del driver dipende dal driver che stiamo utilizzando.
Utilizzare COM.ibm.db2.jdbc.app.DB2Drive quando db2java.zip si trova nel percorso.
Utilizzare com.ibm.db2.jcc.DB2Driver quando db2jcc.jar & db2jcc_license_cu.jar sono nel classpath.

anche seguire i tutorial qua sotto
Razorsql Help
IBM JDBC help

+0

è morto .. –