Conexión JDBC-ODBC

6
CONEXIÓN 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 estándar 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 aplicación realiza operaciones en una Base de Datos si tiene conexión con ella, que se establece a través 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 conexión 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 conexión a una Base de Datos (Orígenes 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 través de uno o más drivers ____________________ ODBC, se representa en una URL donde se escribe nuestro origen de datos, que __ se envía en una cadena de texto. Ejemplo: String url="jdbc:odbc:origendedatos"; 2) Carga del Driver. Se carga el driver para poder establecer la conexión con la base de datos. Ejemplo: String driver="sun.jdbc.odbc.JdbcOdbcDriver"; Class.forName(driver); 3) Conexión a la Base de Datos. Establecemos la conexión 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) Creación 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 inserción, modificación y eliminación: sta.executeUpdate(consulta); - Consulta de búsqueda: ResultSet res=sta.executeQuery(consulta); José Luis Sanabria C. - Informática 17/02/2009 1

Transcript of Conexión JDBC-ODBC

Page 1: Conexión JDBC-ODBC

CONEXIÓN 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 estándar 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 aplicación realiza operaciones en una Base de Datos si tiene conexión con ella, que se establece a través 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 conexión 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 conexión a una Base de Datos (Orígenes 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 través de uno o más drivers ____________________ ODBC, se representa en una URL donde se escribe nuestro origen de datos, que __ se envía en una cadena de texto. Ejemplo: String url="jdbc:odbc:origendedatos"; 2) Carga del Driver. Se carga el driver para poder establecer la conexión con la base de datos. Ejemplo: String driver="sun.jdbc.odbc.JdbcOdbcDriver"; Class.forName(driver); 3) Conexión a la Base de Datos. Establecemos la conexión 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) Creación 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 inserción, modificación y eliminación: sta.executeUpdate(consulta); - Consulta de búsqueda: ResultSet res=sta.executeQuery(consulta);

José Luis Sanabria C. - Informática 17/02/2009

1

Page 2: Conexión JDBC-ODBC

A continuación realizaremos dos ejemplos sobre la conexión JDBC-ODBC, uno en modo consola y el otro mediante una interfaz gráfica con Java Swing. Antes de comenzar crearemos una base de datos en Microsoft Access. En Microsoft Access creamos una Base de datos:

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

José Luis Sanabria C. - Informática 17/02/2009

2

Page 3: Conexión JDBC-ODBC

Ahora configuramos el origen de datos, vamos a Panel de Control, elegimos la categoria Rendimiento y Mantenimiento donde elegimos Herramientas Administrativas para después ingresar a Orígenes 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 botón Agregar..., seleccionamos Driver do Microsoft Access (*.mdb) y finalizar. Colocamos el nombre del origen de datos y la descripción, 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. - Informática 17/02/2009

3

Page 4: Conexión JDBC-ODBC

Ejemplo 1. /* * @(#)Conexion.java * Conexión a una base de datos. * @autor: José Luis Sanabria C. * @versión 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 configuración 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 conexión a la Base de Datos Statement stm=con.createStatement(); // Creando el objeto stm para declarar consultas System.out.print("\nCONEXIÓN EXITOSA"); // Mensaje de una conexión exitosa } catch(Exception e) { System.out.print("\nERROR: "+e.getMessage()); // Error en la conexión } } } // Fin clase Conexion.java

José Luis Sanabria C. - Informática 17/02/2009

4

Page 5: Conexión JDBC-ODBC

Ejemplo 2. /* * @(#)ConexionV.java * Aplicación Java, que realiza la conexión 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(":. Conexión 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. - Informática 17/02/2009

5

Page 6: Conexión JDBC-ODBC

bConectar.setBounds(120,200,120,28); bConectar.addActionListener(this); panel.add(bConectar); setSize(370,300); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } 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,"¡¡¡Conexión exitosa!!!",":. JDBC-ODBC", JOptionPane. INFORMATION_MESSAGE,new ImageIcon("logo.jpg")); } catch(Exception ex) { JOptionPane.showMessageDialog(this,"¡¡¡ERROR en la conexión!!!",":. JDBC-ODBC", JOptionPane.ERROR_MESSAGE); } } } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); new ConexionV(); } } // Fin clase ConexionV.java NOTA. Adjuntamos el archivo ConexionV.jar de la aplicación realizada a este documento.

José Luis Sanabria C. - Informática 17/02/2009

6