Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/03/2012, 15:40
biochemistry43
 
Fecha de Ingreso: mayo-2010
Mensajes: 93
Antigüedad: 14 años
Puntos: 0
Respuesta: Dudas con versión del driver de conexión Oracle

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

La versión de java en principio no tiene mucho que ver, salvo quizás temas de compatiblidad de código compilado.

El driver del conector es específico de la base de datos y de la versión de la misma. Oracle antes usaba classes12.zip, ahora se llama ojdbc14.jar http://www.oracle.com/technetwork/da...01-088211.html

Para otras bases de datos como MySQL, PosgreSQL, etc necesitarías otros drivers en la versión adecuada para esa base de datos.

Tienes que añadir el jar con el conector (en tu caso el ojdbc14.jar) al classpath o como librería de tu proyecto netbeans, si no, te dará el ClassNotFound.

Se bueno.
Ya hice pruebas con otros drivers y nada me funciona. Me intriga que en la pàgina de Oracle venga por ejemplo ojdbc14 para JDK 1.4 y 1.5, classes12.jar para jdk 1.2 y 1.3 y mi JDk es 1.6 pero dices tú que no tiene nada que ver... bueno de cualquier manera dejo mi código con el que estoy intentando conectarme.

Código:
package bdofertas;

import java.sql.*;

public class ConexionBD {
    static Connection conexion;//nos permite establecer una conexion con la BD
    static Statement sentencia;//envia sentencias sql
    static String query = " ";
    static ResultSet resultado;
            
    public static void conectar(){
        String ruta = "jdbc:oracle:thin:@jvazquez-dell:1521:XE";
        String usuario = "giaterm";
        String password = "giaterm";
        try{
            Class.forName("oracle.jdbc.Driver.OracleDriver").newInstance();
            /*Para establecer una coneccion a la base de datos, llamamos al metodo
              getConnection de la clase DriverManager*/
            conexion = DriverManager.getConnection(ruta, usuario, password);
            /*Un objeto Statement se crea con el metodo createStatement de la clase
             connection*/
            sentencia = conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
            System.out.println("CONECTO BIEN!!!");
        }catch(InstantiationException e){
            System.out.println("NO CONECTO!!");
            e.printStackTrace();
        }catch(IllegalAccessException e){
            System.out.println("NO CONECTO!!");
            e.printStackTrace();
        }catch(ClassNotFoundException e){
            System.out.println("NO CONECTO!!");
            e.printStackTrace();
        }catch(SQLException e) {
            System.out.println("NO CONECTO!!");  
            e.printStackTrace();
        }
    }
    
    //El metodo ejecutarConsulta hace uso de una sentencia " q " como parametro
    public static void ejecutarConsulta(String q) {
        query = q;
        try {
            /*Hace uso del metodo excuteQuery ocupando la sentencia pasada al metodo como
              parametro*/
            resultado = sentencia.executeQuery(query);
        }catch(SQLException e){
            System.out.println("NO SE EJECUTO QUERY!!");
            e.printStackTrace();
        }
    }
    /*El siguiente metodo tambien hara uso de una consulta como parametro. Este metodo
      nos permitira actualizar nuestra base de datos*/
    public static void ejecutarUpdate(String q){
        query = q;
        try{
            sentencia.executeUpdate(query);
        }catch(SQLException e){
            
        }
    }
    
    public static void main (String[]args){
        ConexionBD cBD = new ConexionBD();
        cBD.conectar();
    }

}