Vous êtes sur la page 1sur 6

Jos Luis Sanabria C.

- Informtica

17/02/2009

CONEXIN JDBC-ODBC
JDBC (Java DataBase Connectivity, conectividad Java a Base de Datos), es un API de Java que permite al programador ejecutar instrucciones en lenguaje estndar de alto nivel denominado SQL (Structured Query Language, lenguaje estructurado de consultas) de acceso a Bases de Datos. Mediante SQL se puede crear, examinar, manipular y gestionar Bases de Datos. Una aplicacin realiza operaciones en una Base de Datos si tiene conexin con ella, que se establece a travs de un driver, que convierte el lenguaje de alto nivel a sentencias de Base de Datos. Las principales acciones que realiza JDBC son las de establecer la conexin a una base de datos, enviar sentencias SQL a esa base de datos y procesar los resultados obtenidos de la base de datos. Para realizar la conexin a una Base de Datos (Orgenes de datos) desde Java mediante el puente JDBC-ODBC se debe realizar los siguientes pasos: 1) Puente JDBC-ODBC. Proporciona acceso a Bases de Datos desde JDBC a travs de uno o ms drivers ____________________ ODBC, se representa en una URL donde se escribe nuestro origen de datos, que __ se enva en una cadena de texto. Ejemplo: String url="jdbc:odbc:origendedatos";

2) Carga del Driver. Se carga el driver para poder establecer la conexin con la base de datos. Ejemplo: String driver="sun.jdbc.odbc.JdbcOdbcDriver"; Class.forName(driver);

3) Conexin a la Base de Datos. Establecemos la conexin con la base de datos para poder manejarla, ____________________________. es decir realizar consultas. Ejemplo: Connection con=DriverManager.getConnection(url);

Si tuviese un usuario y una clave de acceso a la base de datos, debe usar: Connection con=DriverManager.getConnection(url, usuario, clave); Si quiere realizar consultas a la base de datos, debe agregar los siguientes pasos: 4) Creacin del objeto consulta. Objeto que recibir la(s) consulta(s) que deseamos realizar. Ejemplo: Statement sta=con.createStatement();

5) Consulta. Se tienen dos casos de consulta: - Consultas de insercin, modificacin y eliminacin: sta.executeUpdate(consulta); - Consulta de bsqueda: ResultSet res=sta.executeQuery(consulta);

Jos Luis Sanabria C. - Informtica

17/02/2009

A continuacin realizaremos dos ejemplos sobre la conexin JDBC-ODBC, uno en modo consola y el otro mediante una interfaz grfica con Java Swing. Antes de comenzar crearemos una base de datos en Microsoft Access. En Microsoft Access creamos una Base de datos:

Tambin creamos la tabla PERSONA y llenamos unos cuantos registros para probar las consultas; procedemos a guardar todo.

Jos Luis Sanabria C. - Informtica

17/02/2009

Ahora configuramos el origen de datos, vamos a Panel de Control, elegimos la categoria Rendimiento y Mantenimiento donde elegimos Herramientas Administrativas para despus ingresar a Orgenes de datos (ODBC) obteniendo la siguiente ventana.

Escogemos el DSN que nos conviene utilizar de acuerdo a nuestras necesidades, en este caso utilizaremos DSN de usuario; presionamos el botn Agregar..., seleccionamos Driver do Microsoft Access (*.mdb) y finalizar. Colocamos el nombre del origen de datos y la descripcin, luego presionamos Seleccionar...

Seleccionamos nuestra base de datos (miBaseD) y procedemos a aceptar en todas las ventanas.

De esta manera queda configurado nuestro origen de datos.

Jos Luis Sanabria C. - Informtica

17/02/2009

Ejemplo 1.
/* * @(#)Conexion.java * Conexin a una base de datos. * @autor: Jos Luis Sanabria C. * @versin 1.00 2009/02/17 */ import java.sql.*; // importamos el paquete SQL de Java public class Conexion { public static void main (String[] args) { // URL de nuestro origen de datos // NOTA. Colocar el mismo nombre que en la configuracin del origen de datos ODBC // En nuestro caso: conexion String url="jdbc:odbc:conexion"; // Nombre del driver para el puente JDBC-ODBC String driver="sun.jdbc.odbc.JdbcOdbcDriver"; try { Class.forName(driver); // Carga del driver Connection con=DriverManager.getConnection(url); // Obteniendo la conexin a la Base de Datos Statement stm=con.createStatement(); // Creando el objeto stm para declarar consultas System.out.print("\nCONEXIN EXITOSA"); // Mensaje de una conexin exitosa } catch(Exception e) { System.out.print("\nERROR: "+e.getMessage()); // Error en la conexin } } } // Fin clase Conexion.java

Jos Luis Sanabria C. - Informtica

17/02/2009

Ejemplo 2.
/* * @(#)ConexionV.java * Aplicacin Java, que realiza la conexin con el origen de datos introducido, * mediante el puente JDBC-ODBC * @autor: Jos Luis Sanabria * @version 1.00 2009/02/17 */ import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; public class ConexionV extends JFrame implements ActionListener { JPanel panel; JLabel l1, l2, l3, l4; JTextField t1, t2, t3, t4; JPasswordField pPassword; JButton bConectar; JLabel etiquetas[]={l1,l2,l3,l4}; JTextField cajas[]={t1,t2,t3,t4}; String textos[]={"Usuario:","Clave:","URL:","Driver:"}; String textoCajas[]={"","","jdbc:odbc:","sun.jdbc.odbc.JdbcOdbcDriver"}; final static Color AZUL_1=new Color(0,0,99); final static Font FUENTE_1=new Font("Trebuchet MS", Font.BOLD, 15); Connection con; Statement sta; public ConexionV() { setTitle(":. Conexin JDBC-ODBC"); panel=new JPanel(null); setContentPane(panel); for(int i=0;i<etiquetas.length;i++) { etiquetas[i]=new JLabel(textos[i]); etiquetas[i].setForeground(AZUL_1); etiquetas[i].setFont(FUENTE_1); etiquetas[i].setBounds(40,(i*40)+30,80,20); panel.add(etiquetas[i]); } for(int j=0;j<cajas.length;j++) { if(j!=1) { cajas[j]=new JTextField(textoCajas[j]); cajas[j].setBounds(120,(j*40)+30,200,24); panel.add(cajas[j]); } else { pPassword=new JPasswordField(); pPassword.setBounds(120,(j*40)+30,200,24); panel.add(pPassword); } if(j==3) cajas[j].setEditable(false); } bConectar=new JButton("Conectar");

Jos Luis Sanabria C. - Informtica

17/02/2009

} public void actionPerformed(ActionEvent e) { if(e.getSource()==bConectar) { String usuario=cajas[0].getText(); String clave=pPassword.getText(); String url=cajas[2].getText(); String driver=cajas[3].getText(); try { Class.forName(driver); con=DriverManager.getConnection(url,usuario,clave); sta=con.createStatement(); JOptionPane.showMessageDialog(this,"Conexin exitosa!!!",":. JDBC-ODBC", JOptionPane. INFORMATION_MESSAGE,new ImageIcon("logo.jpg")); } catch(Exception ex) { JOptionPane.showMessageDialog(this,"ERROR en la conexin!!!",":. JDBC-ODBC", JOptionPane. ERROR_MESSAGE); } } } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); new ConexionV(); } } // Fin clase ConexionV.java

bConectar.setBounds(120,200,120,28); bConectar.addActionListener(this); panel.add(bConectar); setSize(370,300); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

NOTA. Adjuntamos el archivo ConexionV.jar de la aplicacin realizada a este documento.

Vous aimerez peut-être aussi