You are on page 1of 6

Crear una conexin JDBC | Linux, Java y programacin

gentoo linux, java, software libre y otras hierbas


$HOME CASIDIABLO.TV AUTOR CONTRIBUIR JAVA C# Y .NET

Crear una conexin JDBC

jul, 15 2008 - 2:56 am

Lo primero que necesitaremos son los drivers JDBC en formato jar, incluir este archivo jar en el CLASSPATH de nuestro proyecto y cargarlos en memoria: Oracle: JDBC Download page Oracle
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

Sgueme...

MySql: MySQL Connector J


Class.forName("com.mysql.jdbc.Driver").newInstance();
http://casidiablo.net/java-database-connectivity/ like http://www.facebook.com/casidiablo.net AVr9ipFc

Para crear la conexin, necesitamos una url JDBC, la cual contiene toda la informacin necesaria para conectarse: Oracle: necesitaremos saber el host (el nombre de la mquina o su IP), el puerto de escucha del listener de Oracle (1521 por ejemplo), el servicio o sid, el usuario y la clave. Diferentes formatos de la url JDBC pueden ser:
jdbc:oracle:thin:@host:puerto:sid jdbc:oracle:thin:usuario/clave@host:puerto:sid

casidiablo.net
Me gusta 1.492

casidiablo.net en Facebook

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=puerto)))(CONNECT_

Contacto

jdbc:oracle:thin:usuario/clave@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=puert

Lo que leo

Ms informacin en FAQ JDBC Oracle: Connections MySql: host (nombre de la mquina o su IP), puerto de escucha (3306 por defecto), nombre de la base de datos, usuario y clave. El formato de la url es:
jdbc:mysql://host:puerto/database jdbc:mysql://host:puerto/database?user=usuario&password=clave

(Ms informacin en MySql JDBC Reference) Una vez tengamos la url JDBC, podemos crear la conexin contra la base de datos:
Connection connection = DriverManager.getConnection(ulr, usuario, clave);

Be Linux My Friend Bloguear por bloguear Casidiablo Media Descarga Juegos El Blog de Guapacho Linux Hispano LuAuF Nierox Pllate un Linux Programacin PHP, Java y C++ Programando Ideas Rincn Informtico rm -rf Que es un ensayo?

Si la URL ya contiene el usuario y la clave (hay formatos que ya la llevan):


Connection connection = DriverManager.getConnection(ulr);

http://casidiablo.net/java-database-connectivity/[22/02/2013 05:53:53 a.m.]

Crear una conexin JDBC | Linux, Java y programacin

Con el objeto connection ya podemos trabajar, sin olvidarnos de que una vez hemos acabado, hay que cerrar la conexin. Esto es muy importante hacerlo, ya que si se queda abierta, estamos desaprovechando recursos, creando lo que se llama connection leaks (conexiones perdidas) con la base de datos. La mejor forma de hacerlo es englobar todo el cdigo en una estructura try/catch/finally y efectuando el cierre de la conexin en el finally. De esta manera nos aseguramos de que falle o no falle el cdigo, se cerrar la conexin.
01 02 03 04 05 06 07 08 09 10 11 12 13 14 Connection connection; try { // ... connection = DriverManager.getConnection(ulr); // ... } finally { if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } }
?

Veamos ahora un par de ejemplos completo. Para Oracle definimos una url que incluye el usuario y la clave, por lo que no necesitaremos pasarle getConnection():
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import java.sql.*; public class OracleConnection { public static void main(String args[]) { String usuario = "vil"; String password = "secreta"; String host = "localhost"; // tambien puede ser una ip como "192.168.1.14" String puerto = "1521"; String sid = "prueba"; String driver = "oracle.jdbc.driver.OracleDriver"; String ulrjdbc = "jdbc:oracle:thin:" + usuario + "/" + password + "@" + host + ":" + puerto + ":" + sid; Connection connection = null; try { Class.forName(driver).newInstance(); connection = DriverManager.getConnection(ulrjdbc); // Ya tenemos el objeto connection creado

esta

informacin

en

el

mtodo

ResultSet result = connection.createStatement().executeQuery("SELECT 'hola mundo' FROM DUAL"); result.next(); System.out.println(result.getString(1)); } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (SQLException e) { } } }

http://casidiablo.net/java-database-connectivity/[22/02/2013 05:53:53 a.m.]

Crear una conexin JDBC | Linux, Java y programacin

Y para MySQL (usaremos una url sin usuario y clave, por lo que pasaremos esta informacin al mtodo getConnection):
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 import java.sql.*; public class MySQLConnection { public static void main(String args[]) { String usuario = "vil"; String password = "secreta"; String host = "localhost"; // tambien puede ser una ip como "192.168.1.14" String puerto = "3306"; String database = "prueba"; String driver = "com.mysql.jdbc.Driver"; String ulrjdbc = "jdbc:mysql://" + host + ":" + puerto + "/" + database; Connection connection = null; try { Class.forName(driver).newInstance(); connection = DriverManager.getConnection(ulrjdbc, usuario, password); // Ya tenemos el objeto connection creado } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (SQLException e) { } } }
?

Resumen para crear una conexin con cualquier base de datos: Insertar en el CLASSPATH el jar con los drivers de nuestra base de datos (drivers Oracle, drivers MySQL o buscar en Google drivers jdbc basededatos) Cargar los drivers con Class.forName(sdriver).newInstance(); , siendo sdriver un String con la clase del driver. Crear la conexin con DriverManager.getConnection(ulrjdbc,
usuario, password); , siend urljdbc una url con el formato que

define la propia base de datos (Oracle: jdbc:oracle:thin:@host:puerto:sid , MySQL:


jdbc:mysql://host:puerto/database o buscar en Google jdbc

url basededatos) Cerrar siempre la conexin dentro del finally Tomado de Yo, Programador, un blog de programacin y tecnologa escrito por Alberto Vilches. Este artculo est licenciado con:

10 Comentarios | deja el tuyo

http://casidiablo.net/java-database-connectivity/[22/02/2013 05:53:53 a.m.]

Crear una conexin JDBC | Linux, Java y programacin

2 enlaces entrantes
JDBC Mtodos de conexin a un SGBD desde un lenguaje de programacin

En este primer Java Total

8 Comentarios en Crear una conexin JDBC


julio dice:
julio 30, 2009 a las 2:08 pm

como hago para instanciar la conexion una solo ves en todo el proyecto, es decir si tengo varios formularios no volver a crear la conexion para cada formulario, se puede hacer eso? Responder

vilches dice:
octubre 15, 2009 a las 9:55 am

El enlace est roto, el enlace nuevo es http://albertovilches.com/post/213767085/crear-una-conexion-jdbc Responder

maria dice:
abril 10, 2010 a las 3:03 pm

como puedo importar tablas de sql a java y como puedo modificar y eliminar Responder

julio dice:
noviembre 5, 2010 a las 2:48 am

tengo problemas con el driver estoy usando oracle 10g(xe) y netbeans 6.9 al correr mi aplicasion marca un error en el driver pero nose ke es Responder

Angel dice:
septiembre 22, 2011 a las 6:39 am

Una puntualizacin. Se puede poner simplificar la linea: Class.forName(driver).newInstance(); por: Class.forName(driver); El DriverManager (en la siguiente linea) se entera igual de que hay un driver nuevo.

http://casidiablo.net/java-database-connectivity/[22/02/2013 05:53:53 a.m.]

Crear una conexin JDBC | Linux, Java y programacin


Responder

Jose dice:
octubre 25, 2011 a las 6:26 am

En la 10.2.0.1.0 he podido conectar as: Connection conn = DriverManager.getConnection (jdbc:oracle:thin:@//servidor.subdominio.dominio.es:1523/SERVICIO, usuario, contrasea); Responder

miguel aliaga dice:


noviembre 19, 2011 a las 3:23 am

TU SI MAM!! m podes creer k no encontraba ese codigo en ninguna parte? si man vales un PER CARAJO! Responder

edgar dice:
septiembre 3, 2012 a las 7:40 pm

me podrias ayudar porfavor amigo ?? Responder

Djanos tu comentario!

Tu nombre

Homepage

E-mail (para Gravatar)

Tu comentario

Enviar comentario

2006 - 2010 casidiablo.net. Pocos derechos reservados.

http://casidiablo.net/java-database-connectivity/[22/02/2013 05:53:53 a.m.]

Crear una conexin JDBC | Linux, Java y programacin

http://casidiablo.net/java-database-connectivity/[22/02/2013 05:53:53 a.m.]

You might also like