You are on page 1of 3

Qu es JDBC?

JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que puede ser Oracle, Infomix, SyBase, etc.

Qu hace JDBC? Establece una conexin con una BD Enva sentencias SQL Procesa los resultados Connection con = DriverManager.getConnection ( "jdbc:odbc:wombat", "login", "password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); } JDBC es una API de bajo nivel para APIs de alto nivel Una integracin de SQL hacia Java, es decir que las sentencias SQL se puedan mezclar con Java, por ejemplo, que una variable de Java pueda ser usada en una sentencia SQL para recibir o dar valores. Un mapeo directo de las tablas de la BD hacia las clases de Java, donde cala fila de la tabla se convierte en una instancia de la clase, y donde cada columna se corresponde a un atrubuto de esa instancia. JDBC v/s ODBC y otras APIs ODBC no es apropiado para usar directamente con Java por que usa una interfaz en C. Una traduccin literal de la API ODBC en C, no es deseable. Por ejemplo Java no tiene punteros y la ODBC hace gran uso de ellos. ODBC es muy difcil de aprender , hace una mezcla de acciones simples y avanzadas. Una API como JDBC es necesario para poder desarrollar una solucin puramente de Java Algunos ejemplos simples: driver_ver.java Despliega la versin del driver. driver_check.java Chequea si corren los drivers correctamente. tab_sel.java Select a una tabla. tab_upd.java Modifica registros en una tabla. tab_del.java Borra registros de una tabla. tab_ins.java Inserta registros hacia una tabla. tabprep_upd.java Como usar una sentencia de preparacin con un "update". Otros ejemplos: call_sp.java Llamado a un procedimiento de Oracle. call_sf.java Llama a una funcin de Oracle.

excep_1.java Manejo de excepciones (1). excep_2.java Manejo de excepciones (2). meta_data1.java Meta-datos. Cmo manejar un "select *". meta_data2.java Ms mtodos con meta-datos , cmo obtener los nombres de los campos. meta_data3.java Ms mtodos con meta-datos (*). meta_data4.java Detalles sobre las palabras claves no estndares de la BD. meta_data5.java Cmo encontrar el largo mximo de un nombre de un campo. meta_data6.java Tipos de tablas permitidos. tab_preupdtran.java Cmo setear una transaccin. tab_preupdrb.java Cmo ejecutar un "rollback".

CONEXIN DE JAVA A SQL Lo primero que hay que hacer para conectar una aplicacin Java con la base de datos Microsoft SQL Server 2005, es bajar el controlador que nos va a permitir manejar la conexin. Para ello vamos a Controlador JDBC de Microsoft SQL Server 2005, hacemos clic en el botn Download y en la pgina que nos abre, donde nos muestra la licencia, elegimos si queremos descargar la versin para Windows o para Linux. Una vez que tenemos descargado el archivo sqljdbc_1.2.2828.100_enu.exe (si elegimos Windows), lo ejecutamos y elegimos en que carpeta queremos descomprimir el archivo. Luego, debemos buscar el archivo sqljdbc.jar y lo copiamos a la carpeta Lib de nuestro proyecto donde tenemos el resto de nuestras libreras.

Para realizar una prueba de si es posible conectarnos con la base de datos, podemos ejecutar un test mediante el siguiente cdigo: import java.sql.*; /** * Microsoft SQL Server JDBC test program */ public class SQLServerTest { public SQLServerTest() { Connection connection = null; try { // Get connection Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

connection = DriverManager.getConnection("jdbc:sqlserver://NOMBREDB:1433", "USER", "PASS"); if (connection != null) { System.out.println("Successfully connected"); // Meta data DatabaseMetaData meta = connection.getMetaData(); System.out.println("\nDriver Information"); System.out.println("Driver Name: " + meta.getDriverName()); System.out.println("Driver Version: " + meta.getDriverVersion()); System.out.println("nDatabase Information "); System.out.println("Database Name: " + meta.getDatabaseProductName()); System.out.println("Database Version: " + meta.getDatabaseProductVersion()); } } catch (ClassNotFoundException e) { System.out.println("No se encontr el controlador: " + e.getMessage()); } catch (SQLException e) { System.out.println("Error en la base de datos: " + e.getMessage()); } } // Test public static void main (String args[]) throws Exception { SQLServerTest test = new SQLServerTest(); } }
Y por consola nos debera aparecer algo parecido a: Successfully connected Driver Information

Driver Name: Microsoft SQL Server 2005 JDBC Driver Driver Version: 1.2.2828.100 nDatabase Information Database Name: Microsoft SQL Server Database Version: 9.00.1399

You might also like