2011-12-16 30 views
12

Necesito conectar DB2 con Java. Amablemente ayúdame a conectar DB2 con java en ECLIPSE. Sería de gran ayuda si pudiera, me guía paso a paso Por favor, hágamelo saber cómo agregar ruta de clase en Eclipse fragmento de código:conecte 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; 
     } 
    } 

} 

Al ejecutar el código que me dieron las siguientes excepciones:

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) 

Respuesta

14

Debe corregir el nombre del paquete.

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

Para añadir .jar en su proyecto => Proyecto + Propiedades + Vía de construcción Java + Selección "Bibliotecas" pestaña + Añadir tarros externos ...

+1

La mina utiliza com.ibm.db2.jcc.DB2Driver ... no estoy seguro de cuál es la diferencia – ESP

+0

@ESP Agregué mi respuesta a su pregunta. –

+0

¿alguien podría agregar un enlace para descargar e instalar el controlador? –

6

Por favor, intente usar

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

Esperemos que este enlace pueda ayudarlo un poco más. PUBLIB

Saludos

+0

mi pregunta graciosa, ¿sabe algo sobre AS400, porque no puedo encontrar el controlador para la versión obsoleta de DB2 6.1 – mKorbel

+1

ignórelo, encontré jt400. jar .... – mKorbel

+0

Lol, mi MALO, nunca antes había oído hablar de AS400, pero no está seguro de que esté asociado con IBM, pero eche un vistazo a este [LINK] (http://www-03.ibm .com/systems/i/software/toolbox/downloads.html) y este [JT400admin] (http://sourceforge.net/projects/jt400/). Me alegra que lo haya encontrado :-) –

3

Ninguno de los ejemplos anteriormente trabajó para mí, pero esto hizo:

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

Estos dos conductores se cargan desde diferentes JAR. Este último se carga desde jt400.

6

El nombre del controlador depende del controlador que estemos utilizando.
Use COM.ibm.db2.jdbc.app.DB2Drive cuando db2java.zip esté en su camino.
Use com.ibm.db2.jcc.DB2Driver cuando db2jcc.jar & db2jcc_license_cu.jar están en su classpath.

también siguen el siguiente tutorial
Razorsql Help
IBM JDBC help

+0

segundo enlace está muerto .. –