¿Cómo conectar Java con Oracle utilizando JDBC?​

conectar-oracle-jdbc-java

Todo sistema de información posee una conexión a un motor de bases de datos para poder guardar los datos ingresados al sistema y así se pueda realizar una futura consulta. Para realizar una conexión es necesario utilizar un componente conocido como JDBC (Java Data Base Connector) el cual, debe proveer el creador del motor de base de datos que se desee utilizar. Como sabemos Java puede conectarse a múltiples motores de base de datos y el JDBC está diseñado para esto, puede ser independiente de la plataforma e incluso de la base de datos, de esta manera, la aplicación se comunica con el JDBC y este con la base de datos. Para manipular la base de datos desde la aplicación en Java es necesario utilizar el lenguaje SQL (Structured Query Language).

En este caso consideraremos un motor de base de datos y es Oracle, para poder realizar una conexión entre Java y Oracle se debe descargar el Driver JDBC para Oracle este es un componente embebido en un archivo “jar”. Este archivo debe incluirse en el build path del proyecto para poder ser utilizado por la aplicación.

conectar-oracle-jdbc-java

En este caso puede existir varias versiones de JDBC para Oracle la cual es llamada ojdbc, el cual puedes descargar accediendo aquí, donde te ubicaras en la sección mostrada en la imagen para descargar.

Conexión a base de datos

Para realizar la conexión primero crearemos una clase en Java llamada Conexion y trabajaremos dentro de ella, debemos tomar en cuenta que es necesario hacer uso de las clases Connection y DriverManager que hacen parte del paquete java.sql. Adicionalmente, se deben conocer los siguientes parámetros:

  • JDBC: Es necesario conocer la clase que permite que el JDBC realice la conexión a la base de datos de acuerdo al motor seleccionado. Para Oracle, la clase es oracle.jdbc.OracleDriver.
  • Cadena de conexión: Esta cadena jdbc:oracle:thin:@host:port:SID contiene información del JDBC, servidor, puerto y nombre de base de datos.
    – host: es la IP donde está la base de datos Oracle, si está en nuestra misma máquina será localhost.
    – port: es el puerto por donde escucha el servidor de base de datos, por defecto para Oracle es el 1521.
    – SID:  es el nombre único que identifica de forma única su instancia o base de datos, donde como Nombre de servicio es el alias TNS que proporciona cuando se conecta de forma remota a su base de datos y este Nombre de servicio se registra en el archivo Tnsnames.ora en sus clientes y puede ser el igual que SID y también puedes darle cualquier otro nombre que desees, para comprender un poco mejor en algunas ocasiones suele ser XE o también ORCL, como identificadores para la base de datos.
  • Usuario: El usuario debe ser incluido en la conexión para hacer uso de los diferentes servicios del motor de la base de datos.
  • Contraseña: Corresponde a la contraseña con que el usuario puede ingresar a la base de datos

La siguiente clase muestra una forma de realizar la conexión usando Oracle:

 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class Conexion 
{
    private static Connection conn = null;
    private static String usuario= "walter";
    private static String contraseña= "12345";
    private static String url = "jdbc:oracle:thin:@localhost:1521:XE";
    
    public static Connection getConnection(){
        try {
            Class.forName("oracle.jdbc.OracleDriver");
            conn = DriverManager.getConnection(url,usuario,contraseña);
            if (conn != null) {
                System.out.println("Conexion Exitosa");
            }
        } catch (ClassNotFoundException | SQLException e) 
        {
            JOptionPane.showMessageDialog(null, "Conexion Erronea " + e.getMessage());
        }
        return conn;
    }
    
    public static void main(String[] args) {
        Conexion.getConnection();//probamos que la conexión se inicie
    }
    
}

El método getConnection permite que el atributo connection cree una conexión con la base de datos. Para ello requiere de las siguientes características:

  • El método estático forName de la clase Class permite cargar a la aplicación, el conector de la base de datos. Recibe el parámetro JDBC expuesto anteriormente <oracle.jdbc.OracleDriver>.
  • El método estático getConnection de la clase DriverManager permite establecer una conexión a la base de datos a través del JDBC. Recibe como parámetro la cadena de conexión, el usuario y la contraseña.
  • A su vez este método lleva dos excepciones, SQLException, si surge algún error, por ejemplo que no se pueda conectar a la base de datos, y ClassNotFoundException, en caso de que no encuentre la clase oracle.jdbc.OracleDriver necesaria para establecer la conexión.

En el método Main lo que haremos es ejecutar nuestra conexión para verificar que todo funcione de forma correcta, una vez ejecutado por consola nos debe mostrar el siguiente mensaje:

Conexion Exitosa
¿Te ha gustado?, comparte en redes sociales
¿Te ha gustado?, comparte en redes sociales

WALTER ROSERO

Creador de Walter Rosero - SuperTecnoDroid | Responsable del Canal de YouTube Walter Rosero. Amante de la tecnología y juegos, me gusta aportar con un granito de arena al aprendizaje y la enseñanza. Soy editor y compositor en el área multimedia. Combino mi pasión por la enseñanza a través  de la World Wide Web.

Picture of WALTER ROSERO

WALTER ROSERO

Hola soy Robinson Rosero, me dedico a crear contenido por medio de la World Wide Web, para ayudar a las personas y así poder desarrollar experiencia con nuevas ideas.

Articulos Relacionados