Conexión entre Oracle y Java
Este ejemplo de conexión a Oracle es basado con el el motor Oracle Enterpriese Edition 10g. Antes que todo, te puedes bajar la base de datos desde la página oficial de Oracle, y descargar el driver desde la página de conectores. Soloa hay que recordar descargar el driver adecuado.
Como toda conectividad a base de datos, necesitamos crear la conexión. Para una conexión con Oracle, es necesario conocer 5 datos bastante necesarios que vamos a nombrar acontinuacion:
- host: la pc donde esta esta la base de datos, por lo general se una localhost o el nombre de la máquina
- puerto: el puerto donde está escuchando Oracle, en mi caso, durante la instalación de Oracle se ha especificado por defecto el valor 1521, pero puede cambiar
- service o SID: el nombre de la base de datos
- user: el usurio que se conecta a la base de datos, por defecto Oracle trae los usuarios SYS, SYSTEM, SYSMAN, DBSNMP. Comúnmente se usa el usuario SYSTEM.
- password: el password que asiganamos a los usuarios de Oracle durante la instalación del mismo
Ahora veamos como se aplican los anteriores datos a la hora de cargar el driver y crear la conexión. Se carga el dirver:
//esta es la una forma de cargar el dirver, la más usada
Class.forName("oracle.jdbc.driver.OracleDriver");
//esta es la segunda forma de cargar el driver en caso de que la primera no de resultado
/*
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
*/
Ahora se crea la conexión, acá se usan los datos mencionados según como explica el siguiente código, también hay dos formas de hacerlo:
// primera opcion: String url = "jdbc:oracle:thin:@//delDB:1521/catalogo"; // jdbc:oracle:thin:@//host:puerto/service // segunda opcion: /* String url = "jdbc:oracle:thin:@delDB:1521:catalogo"; */ // jdbc:oracle:thin:@host:port:SID
Y por último se crea el objeto Connection usando la url que se creo anteriomente, junto con el user y el password respectivamente:
Connection conn = DriverManager.getConnection(url,"usuario", "contraseña");
Ahora lo que queda es probar la conexión haciendo una pequeña consulta a al base de datos, para ello hacemos un objeto Statement a partir del objeto Connection para hacer la consulta:
Statement stmt = conn.createStatement();
Ejecutamos la consulta. La consulta es de tipo Select, por lo tanto nos va retornar alguna tabla donde ira el resultado de la consulta, este resultado se va a guardar en una variable tipo ResulSet:
ResultSet rset = stmt.executeQuery("select nombre from tabla_personas");
Finalemente desplegamos el resultado:
while (rset.next()) {
System.out.println (rset.getString("nombre"));
}
Aca dejo la clase de ejemplo: Principal.java