lunes, 14 de enero de 2013

Conectar java utilizando netbeans IDE a Oracle 11g

En esta ocasión comparto con ustedes un sencillo, pero útil tutorial sobre los procesos que deben efectuarse para establecer una conexión entre JAVA y ORACLE.

En la siguiente tabla encontraras los recursos necesarios que deberas descargar e instalar en tu ordenador para poder seguir el tutorial.

Software o recursos Versiones requeridas
NetBeans IDE 7.0, 7.1, 7.2, Java EE bundle
Java Development Kit (JDK) Version 6 or 7
Oracle Database XE 11 g Express Edition
Oracle JDBC driver ojdbc6.jar

Ahora que ya estas listo, pasaremos a los pasos necesarios para obtener una conexion satisfactoria al gestor de bases de datos Oracle (En este caso utilizaremos Netbeans IDE 7.1.2).

La practica consistirá en conectarnos a una instancia local de Oracle, pero perfectamente es aplicable para conexiones con instancias remotas.

Existen 2 categorías de drivers (conectores) para establecer una conexión con Oracle los cuales son: OCI y JDBC Thin, en nuestro caso utilizaremos la segunda opción porque en la mayoria de casos es suficiente para un uso eficiente de nuestra base de datos.

ESTABLECIENDO CONEXION A BASE DE DATOS ORACLE.

1-) Inicia el servicio de Oracle en tu computador.
2- Inicia Netbeans IDE
3-) Ve a la opción Window/Services en Netbeans, y selecciona "nueva conexión".


4-) Cuando te aparezca el asistente de configuración, selecciona de la lista desplegable "Oracle Thin", luego clic en "add" para agregar el driver que descargaste es decir el ojdbc6.jar luego da clic en "Next".

5-) En el panel de personalización de conexión ingresa los siguientes valores y luego has clic en "Next".



Name Value
Driver Name Oracle Thin (with Service ID (SID))
Host localhost o 127.0.0.1.
Nota: En el caso de una conexion remota, proporciona la IP o el nombre de Host para resolver la direccion de la maquina donde esta alojada la base de datos.
Port 1521 (default)
Service ID (SID) XE (default SID para Oracle Database XE).
Nota: Si estas conectado a una base de datos remota, solicita al administrador de base de datos el SID.
Username Ingresa el nombre de usuario.
Para el propósito de este tutorial ingresa HR (Una de las cuentas de ejemplo de Oracle).
Password Ingresa la contraseña del usuario en este caso la contraseña de HR, tu puedes crearle una nueva clave desde Oracle*Plus u otra IDE.


6-) Haz clic en Test Connection para confirmar que la IDE esta habilitada para conectarse a la base de datos, has clic en Next y se te desplegara un mensaje confirmando la conexión.


COMPROBANDO LA CONEXIÓN DESDE UNA APLICACIÓN JAVA

Ahora comprobaremos la conexion al esquema HR de Oracle desde una aplicacion Java.

1-) Selecciona en Netbeans File/New Project/JavaAplication
2-) Le nombraremos al proyecto OracleConection
3-) Se creara la clase por defecto y el método Main que es donde ejecutaremos las instrucciones necesarias para establecer la conexión.
4-) Importaremos los paquetes "java.sql.Connection" y "java.sql.DriverManager" necesarios en este caso.
5-) Crearemos un objeto de tipo conexión "private Connection conexion;"
6-) Desarrollaremos los respectivos Getter y Setter para el objeto conexion.

 public Connection getConexion() {
        return conexion;
    }

   
    public void setConexion(Connection conexion) {
        this.conexion = conexion;
    }

7-) Luego crearemos un método del tipo OracleConection. En dicho método utilizaremos la dirección que tenemos especificada en la conexión que realizamos con anterioridad. Con una condición verificaremos si la conexión es diferente de nulo es porque hemos logrado acceder al esquema HR.


public OracleConection Conectar()
    {
        try{
        Class.forName("oracle.jdbc.OracleDriver");
        String BaseDeDatos = "jdbc:oracle:thin:@localhost:1521:XE";
        conexion= DriverManager.getConnection(BaseDeDatos,"HR","HR");
        if(conexion!=null)
        {
        System.out.println("Conexion exitosa a esquema HR");
        }
        else{System.out.println("Conexion fallida");}
        }
        catch(Exception e)
        {e.printStackTrace();}
     
    return this;
    }

8-) Para finalizar en el metodo MAIN crearemos un objeto para invocar al metodo conectar.


public static void main(String[] args) {
    OracleConection conexion = new OracleConection();
    conexion.Conectar();
}


9-) Le damos clic derecho "Run" a nuestro proyecto y debería enviarnos el mensaje respectivo como en la siguiente imagen.

Fácilmente podemos adaptar la lógica para conectarnos a una aplicación Swing o JSP con lo practicado en este tutorial, recuerda que este blog sobrevive gracias a tus donaciones o clics en los anuncios, ya sabes como apoyar este recurso para continuar subiendo mas tutoriales. Gracias.




24 comentarios:

  1. Gracias por tutorial, muy útil. Solamente una duda: ¿cómo haría para conectarme a APEX pero la versión online? lo he intentado pero al parecer necesito el SID.
    Gracias.-

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. 5-) Crearemos un objeto de tipo conexión "private Connection conexion;"

    Y eso cómo se hace, con qué lo relleno???

    ResponderEliminar
  4. me sale este error cuando apreto en test
    Cannot establish a connection to jdbc:oracle:thin:@localhost:1521:XE using oracle.jdbc.OracleDriver (ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region  not found )

    me podrias ayudar??

    ResponderEliminar
  5. ME DA UN ERRO DE Cannot establish a connection to jdbc:oracle:thin:@DESARROLLO using oracle.jdbc.OracleDriver (Error de E/S: 

    ResponderEliminar
  6. No tengo el oracle thin n la lista desplegable cuando doy nueva conexion

    ResponderEliminar
  7. Gracias, hermano. Funcionó, es importante cuidar los detalles, algunos deben utilizar / y no : XE. Ese era mi error.

    ResponderEliminar
  8. Por fin logro hacer una conexión con Oracle desde netbeans, Gracias a ti y a todos aquellos que están siempre dispuestos a brindar sus conocimientos.

    ResponderEliminar
  9. Por fin logro hacer una conexión con Oracle desde netbeans, Gracias a ti y a todos aquellos que están siempre dispuestos a brindar sus conocimientos.

    ResponderEliminar
  10. Tambien funciona agregando el ojdbc a la librerias del proyecto☺

    ResponderEliminar
  11. como agrego este codigo y en que parte:

    public static void main(String[] args) {
    OracleConection conexion = new OracleConection();
    conexion.Conectar();
    }

    ResponderEliminar
  12. como me conecto una base de datos que yo cree?

    ResponderEliminar
  13. Excelente que aun funcione en 2020, a los que les falla, intenten verificar si el usuario de oracle que están usando es realmente el HR, sino es eso, en "Libraries / Add JAR" agregar el driver de oracle

    ResponderEliminar
  14. Excelente, me sirvió lo que usted dijo, y si aun sigue funcionando, confirmo.

    ResponderEliminar
  15. Hola, podrias actualizarlo a la version de Apache Netbeans 12 por favor amigo.
    Gracias

    ResponderEliminar
  16. Amigo, lo intente con Netbeans 12.2 y me sale el siguiente error:

    java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver

    No se si podrías asesorarme..

    Gracias!

    ResponderEliminar