Citation preview

CONEXIÓN DE BASE DE DATOS CON JAVA Para iniciar este capitulo debemos de tener presente que cuando se intenta conectar Java, con cualquier motor de base de datos necesitamos conocer si la relación de Conexión de Java con el motor de base de datos es de tipo directa o indirecta. Antes de esto definamos que es un controlador JDBC(Java Database Connectivity), el cual es un interfase de comunicación que permite la ejecución entre Java y cualquier motor de Base de Datos.

Conexión Directa.-

A la derecha,

el controlador JDBC accede directamente al controlador del fabricante (DB Client Lib); este tipo de controladores JDBC se denominan de nivel 3 ó 4. Entre los manejadores de base de datos que poseen una conexión directa con Java, tenemos a: My Sql, Sybase DB2, Oracle. Ya que estas no necesitan un puente para comunicarse, el trabajo y la conexión son mucho más rápidos que una conexión indirecta.

Conexión

Indirecta.-

A

la

izquierda el controlador JDBC hace de "puente" con el controlador ODBC, que es el que accede a la base de datos, este es un esquema de un controlador JDBC de nivel tipo 1. Entre los manejadores de base de datos que necesitan de un puente ODBC para conectarse con Java, tenemos a las marcas, Access, Microsoft SQL Server, Informix, entre otros.

1

Importante: Para realizar una conexión con alguna base de datos debemos de importar el paquete:  java.sql.*.- Este paquete contiene clases e interfaces diseñadas teniendo en mente la arquitectura tradicional cliente-servidor. Su funcionalidad se centra primordialmente en servicios de programación básicos de bases de datos, como creación de conexiones, ejecución de instrucciones e instrucciones preparadas. Dentro de los paquetes que más usaremos se encuentran:  java.sql.DriverManager.- Esta clase proporciona la funcionalidad necesaria para gestionar uno o mas drivers de base de datos. 

java.sql.ResultSetMetaData.- Esta interfaz proporciona métodos para acceder a metadatos del Resultset, como los nombres de las columnas, sus tipos, el nombre de tabla correspondiente y otras propiedades.



java.sql.SQLException.- Esta excepción representa todas las condiciones de excepción relacionadas con JDBC.



java.sql.Connection.- representa una conexi6n con una base de datos.

LOS URL de JDBC.-

La noción de un URL en JDBC es muy similar al modo

en que los URL se utilizan en otras situaciones. Para poder entender la base lógica de los URL de JDBC, consideremos una aplicación que utiliza diversas bases de datos; a cada base de datos se accede mediante diferentes driver, dependiendo del fabricador de base de datos. Los URL de JDBC proporcionan un modo de identificar un driver de base de datos, en el caso de una conexión directa.

Un URL de JDBC representa un dirver y la

información adicional específica del driver para localizar una base de datos y conectarla a él. La sintaxis del URL de JDBC es como sigue:

jdbc:: Se puede observar que están separadas en tres partes por dos puntos. 

Protocolo: jdbc es el protocolo. Este es el único protocolo permitido en JDBC.



Sub-protocolo: el sub-protocolo es utilizado para identificar un driver de base de datos o el nombre de un mecanismo de conectividad de una base de datos, elegido por los proveedores del driver de base de datos.



Subnombre: la sintaxis del subnombre es específica de driver. Un driver puede elegir cualquier sintaxis apropiada para su implementación.

Por ejemplo en una conexión directa con DB2, y una base de datos de nombre libros, seria:

jdbc:db2j:libros y para una conexión indirecta con Microsoft SQL Server utilizando un punte de datos JDBC-ODBC de nombre libros, nuestro URL seria:

2

jdbc:odbc:libros

DRIVER MANAGER.-

El propósito de la clase java.sql.DriverManager

(gestor de driver) en JDBC es proporcionar una capa de acceso común encima de diferentes drivers de base de datos utilizados en una aplicación. En este enfoque las aplicaciones utilizan la clase DriverManager para obtener conexiones, a través de su argumento URL. Por ejemplo para Ms SQL Server el driver seria:

try{ Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); }catch(ClassNotFoundException e){ } El bloque try – catch es necesario para establecer la conexión, esto para saber de algún problema existente cuando se ejecute la conexión con el driver dentro del bloque try,

el

bloque catch, tiene como función capturar el tipo de error

generado, al no poder conectarse con la base de datos.

Nota: La mayoría de manejadores de base de datos, además de una URL y Driver, poseen un nombre de usuario (USER) y un respectivo Password (PASS), para poder obtener la conexión hacia una determinada base de datos. En el ejemplo basado en Ms SQL Server, el código utiliza un driver ODBC , donde “libros” es un DNS fijado en la configuración de ODBC (después explicaré como realizar esta configuración de ODBC). Este DNS corresponde a una base de datos que requiere un nombre de usuario y una contraseña para obtener una conexión:

String URL=”jdbc:odbc:libros”; String user=”sa”; String pass=””; Connection conn=DriverManager.getConnection(URL,user,password); En muchas ocasiones es necesario especificar el tiempo máximo que debe esperar un driver mientras intenta conectar a una base de datos. Los siguientes dos métodos pueden ser utilizados par fijar/obtener (set/get) el tiempo limite de registro:

3

public static void setLoginTimeout(int segundos){ } public static void getLoginTimeout( ){ } •

Para resumir la teoría mencionada creare una clase netamente para la conexión con una base de datos, usaremos en este ejemplo la conexión con SQL Server:

Ahora si deseamos conectarnos con MySQL, el proceso es similar que el anterior hecho para Ms SQL Server, solo debemos de cambiar el contenido de Driver, URL, user, pass tal como se muestra:

String Driver = "com.mysql.jdbc.Driver"; String URL = "jdbc:mysql://localhost:3306/libros"; String user = "root"; String pass = "root";  la contraseña puede variar según el usuario. Esta parte observemos, la diferencia que hay con los parámetros antes puestos para establecer la conexión con Ms SQL Server. Como la conexión con MySQL con Java es directa, observamos que en la parte de URL, no hay ningún puente ODBC. Debemos de recordar que para cada manejador de base de datos de conexión directa existen drivers distintos, el cual debemos de instalar antes. Pero para las ultimas versiones del NetBeans y otros IDE’s para java,

los driver mas usados

están contenidos dentro de la instalación del Netbeans.

4

CREAR Y EJECUTAR SENTENCIAS SQL En esta sección es recomendable que el lector tenga conocimiento en como realizar consultas o listados en SQL, tal como el uso del SELECT – también para Insertar (INSERT), modificar (UPDATE) y eliminar (DELETE). Podemos utilizar un objeto Connection para ejecutar instrucciones SQL creando un Statement, un PreparedStatement o un CallableStatement. Estos objetos abstraen instrucciones SQL normales, instrucciones preparadas y procedimientos almacenados respectivamente. Una vez hemos obtenidos unos de esos objetos de instrucciones, podemos ejecutar la instrucción y leer resultados gracias a un objeto ResultSet..

Conexión

Servidor

Clases

Memoria

Pasos para la ejecutar una sentencia SQL con Java: 1. getConnection()

: primero obtenemos la conexión.

2. PreparedStatement

: prepara un comando SQL.

3. executeQuery()

: ejecuta la instrucción SQL que se preparo en lo

anterior. 4. ResultSet

: lleva a memoria los datos de una consulta SQL.

5. next()

: lee fila por fila los datos que están en

memoria.

OBTENCIÓN DEL ORIGEN DE DATOS ODBC (Open Database Connectivity). Definición: Una aplicación de Conectividad abierta de bases de datos (ODBC) utiliza un origen de datos ODBC para conectarse a una instancia de Microsoft SQL Server. Un origen de datos ODBC es una definición almacenada que registra: •

El controlador ODBC que se va a utilizar para las conexiones que especifican el origen de datos.



La información que utiliza el controlador ODBC para conectarse a un origen de datos.

5



Opciones específicas del controlador que se van a utilizar para la conexión. Por ejemplo, un SQL Server origen de datos ODBC puede registrar las opciones de ISO que va a utilizar o si los controladores deben registrar estadísticas de rendimiento.

Cada origen de datos ODBC de un cliente tiene un nombre del origen de datos (DSN) exclusivo. Un origen de datos ODBC para el controlador ODBC de SQL Server incluye toda la información utilizada para conectarse a una instancia de SQL Server, más las opciones fundamentales.

A continuación presento los pasos de configuración del ODBC – Puente de Datos: Paso1:

entramos

InicioEjecutar,

y

a

escribimos

ODBCAD32, tal como se muestra:

O la otra manera para ingresar al administrador de Orígenes ODBC, es

ir

al

Panel

ControlRendimiento

de y

Mantenimiento  Orígenes de Datos ODBC. Esto para Windows XP. Nos saldrá la siguiente ventana.

Luego de aquí, daremos clic en Agregar, y nos aparecerá la siguiente ventana, donde crearemos nuestro nuevo origen de datos, como en esta oportunidad trabajaremos con Microsoft SQL Server escogeremos en la parte final SQL Server:

6

Damos clic en Finalizar y nos saldrá el siguiente asistente, en el cual contiene los siguientes campos a llenar: Se refiere al nombre de origen de datos que tendrá nuestro

Nombre:

DNS(exclusivo) para conectarnos con Java en esta ocasión. Para este ejemplo ponemos en la casilla la palabra: notas Aquí se coloca una breve descripción, sobre el origen de

Descripción:

datos, por ejemplo: “Puente de BDNotas. Si se desea se puede dejar en blanco.

Servidor:

En esta parte colocaremos con que servidor nos estamos conectando a SQL Server, en general de conecta de forma local, si es este el caso hay varias formas, se puede poner en esta casilla un simple punto “.”, o también escribir la palabra (LOCAL), entre paréntesis, o la otra forma es colocar el nombre de la maquina.

7

El nombre es muy importante recordarlo por que este es el nombre del Puente JDBC-ODBC que pondremos en la URL de la Clase Conexión, similar a la que aparece en la pagina 3, con el nombre “libros”. Damos clic en Siguiente y nos saldrá lo siguiente: En el cual activaremos el radio botón donde dice: Con la autentificación de SQL Server, al hacer esto se activara las dos casillas de la parte inferior de la ventana. Donde pondremos un Id de Inicio y un pass, esto dependiendo de cómo hemos ingresado al Analizador de consulta de SQL Server. Es muy probable que hayamos ingresado con el Id de Inicio “sa” (Server Authentication), y el pass en blanco. Tal como se muestra:

Antes de darle Siguiente, debemos de asegurarnos de que la base de datos a la que queremos crearle el puente JDBC-ODBC, ha sido ejecutada desde el analizador de

8

consultas de Ms SQL Server, por decir. Si este paso ya ha sido tomado en cuenta podemos proseguir.

Paso 2: Luego de damos clic en Siguiente:

Aquí se escoge la base de datos con que trabajaremos, para efectos del próximo ejemplo escogemos la base de datos “bdnotas”, luego damos clic en Siguiente  Finalizar Aceptar Aceptar y listo. Observación: Podemos comprobar que todo salio correctamente, en la creación del origen de datos ODBC, cuando en la primera ventana mostrada en la página 5 aparezca algo similar a esto:

- Debemos de tener en claro el concepto de programación orientada a objetos, en paginas anteriores se resumió la teoría expuesta sobre conexiones, de Java con Ms Sql Server, en una sola clase, esto lo hacemos porque mas adelante no necesitare crear la clase Conexión para cada proceso que se realice con Java, sino que a esta clase la volvemos reutilizables en varias partes del código. Para efectos de un mayor entendimiento propongo un ejemplo:

9

EJEMPLO DE APLICACIÓN: Utilizando la base de datos BDNOTAS: en el cual esta contenida las siguientes tablas y columnas:

ALUMNO 

IDALUMNO

: Código de alumno



APEALUMNO

: Apellido del Alumno



NOMALUMNO

: Nombre del Alumno



IDESP

: Código de especialidad



PROCE

: Procedencia

IDALUMNO

IDESP

CURSO 

IDCURSO

: Código del curso.



NOMCURSO : Nombre del curso.



CREDITO

IDCURSO

: Créditos del curso.

ESPECIALIDAD 

IDESP

: Código de especialidad



NOMESP

: Nombre de la especialidad.



COSTO

: Costo de la especialidad.

NOTAS 

IDALUMNO : Código de alumno



IDCURSO



EXAPARCIAL : Examen Parcial.



EXAFINAL

: Código del curso. : Examen final

PAGOS 

IDALUMNO : Código de alumno



CICLO

: Ciclo



NCUOTA

: Numero de cuota.



MONTO

: monto a pagar



FECHA

: fecha del pago

Se pide que al ingresar por teclado el código de un alumno, este muestre los siguientes detalles: Idalumno, nomAlumno, Apealumno, nomCurso, exaParcial, exaFinal, Promedio, Observación (aprobado/desaprobado).

10

Solución: Paso 1: Ingresaremos al Netbeans, creamos un nuevo Proyecto JavaAplication, le ponemos un nombre, y dentro de este proyecto crearemos 2 paquetes (Java Package), el primer paquete de nombre Clases, contendrá todas las clases necesarias para implementar este programa; el segundo paquete de nombre Formulario, contendrá el diseño de nuestro formulario haciendo uso de objetos. Dentro del paquete Clases, crearemos las siguientes clases:

Paso 2: Procedemos al llenado de la clase alumno, esta clase solo estableceremos los atributos del alumno, pedidos, tal como su código, nombre, apellido, curso, examen parcial, examen final, luego con estos atributos, podemos crear métodos para el promedio final, así como para el nombre completo del alumno, ya que si observamos en los campos de la base de datos estos están por separados, luego para generar los colores de la observación (aprobado/desaprobado).

Observación: Cuando trabajemos con base de datos debemos de considerar, el

tipo de datos que tienen sus atributos, si son varchar, char String - int  int , float, numeric(8,2), real double, esto para saber que tipo de dato pondremos al declarar los atributos en java. Los campos que utilizaremos en este ejemplo tienen los tipos de datos siguientes:      

idAlumno apeAlumno nomAlumno nomCurso exaParcial exaFinal

char (5) varchar (30) varchar (30) varchar (35) real real SQL

     

String String String String double ó int double ó int JAVA

Hacemos doble clic sobre la clase Alumnos.java – el cual nos saldrá la ventana para editar el código, procedemos al llenado de la clase:

11

Clase Alumnos: aquí hemos establecidos los atributos y métodos a utilizar en esta aplicación:

Para completar esta parte de la clase Alumno.java, necesitamos crear sus métodos accesores Set y Get, para esto nos ubicamos en cualquier parte del código, damos clic derecho buscamos Refactor  Encapsulate fields, y nos saldrá la ventana en donde seleccionaremos todo Select All, luego damos Refactor.

12

quedando el código de la clase Alumno.java, como sigue:

Se aprecia que se han creado los métodos set y get, para cada atributo de la clase. Se recomienda no copiar, el código tal como se muestra en la figura, ya que por razones de espacio, se están omitiendo algunos métodos accesores y llaves de cierre, lo recomendable es hacerlo, con las sugerencias que expongo líneas arriba. Con esta parte terminamos todo lo que contendrá la clase Alumnos.java

13

Paso 3: Continuando con nuestro programa ahora debemos de crear la conexión, similarmente a lo que expongo en la pagina 4 de este texto, para efectos de este ejemplo haremos la conexión con Ms Sql Server 2000, posteriormente lo Hare con MySQL . Entonces nos ubicamos en la clase Conexión.java que se creo en el paquete Clases de nuestro ejemplo, damos doble clic y editamos el siguiente código: Clase Conexión.

Debemos de tener presente el “Nombre de origen de datos”, para nuestra aplicación, recordando lo que se hizo en el tema de Configuración del Origen de Datos ODBC. Según esto sabemos que hemos creado nuestro origen de datos con el nombre “notas” el cual se hizo en la página 6 de este texto, se debe hacer toda esta configuración, porque como estamos trabajando con Ms Sql Server, este requiere un puente de datos, para la comunicación con Java.

Paso 4: Ahora es el turno de codificar la parte de la clase Proceso.java,. Para entender de una manera clara lo que se hará en esta parte, se debe de tener conocimiento de lo que se expuso con anterioridad, (getConnection, PreparedStatement, ResultSet) también usaremos la clase ArrayList & List, para hacer un listado general. El código del proceso se muestra a continuación:

14

Clase Proceso: Primero creamos un método del tipo List, que será un lista de la clase Alumnos, el cual recibirá como parámetro el código de un alumno, luego este código se asociara con el “?” que se encuentra en la sentencia sql, se aprecia que la sentencia se encuentra agrupada en varias cadenas +” ”+, esto por falta de espacio, pero también se puede escribir toda esta sentencia en una sola línea.

Luego dentro de un bloque try – catch se prepara la sentencia sql con la clase PreparedStatement. En la parte donde dice: st.setString(1, cod_alumno);

- esto se refiere al

parámetro que se recibiendo en el método, el numero 1 significa la posición del “?” de la sentencia sql. cod_alumno, es la variable que recibe un valor, el cual se asignara en el “?”.

Por decir:

cod_alumno=”A0003”, entonces este valor de

“A0003” se reemplazara por “?” que se encuentra en la sentencia sql. Quedando idalumno=’A0003’ para el sql.

15

En la parte de ResultSet rs=st.escuteQuery();esto nos quiere decir que cuando ejecutemos una consulta st.escuteQuery(), esta sea llevada a memoria a través de ResulSet y se almacenara en rs. Luego en el While(rs.next()), estamos recorriendo todo lo que esta memoria, pero por el uso del next(), estamos recorriendo o leyendo fila por fila. Alumnos a=new Alumnos(); a.setCodigo(rs.getString(1)); a.setApellido(rs.getString(2)); a.setNombre(rs.getString(3)); a.setCurso(rs.getString(4)); a.setExaParcial(rs.getInt(5)); a.setExaFinal(rs.getInt(6)); lista.add(a); Lo que se hace en esta parte es crear un objeto de la clase Alumnos, para llamar a sus métodos, cuando hacemos por ejemplo en a.setCodigo(rs.getString(1)); el método rs.getString(1), captura el valor que tiene la memoria en la posición 1 de la sentencia sql (idalumno). Para luego almacenar estos valores en a.setCodigo. Es decir: observemos que en la consulta sql, las posiciones de los campos, son los siguientes: Campos

Posiciones

Tipo de datos

Método Java

Idalumno

1

String

getString()

ApeAlumno

2

String

getString()

NomAlumno

3

String

getString()

NomCurso

4

String

getString()

ExaParcial

5

int

getInt()

ExaFinal

6

int

getInt()

Luego por ultimo se agrega todo esta a la lista con “lista.add(a);”. Y se retorna la lista.

Paso 5: esta parte haremos la creación de un JFrame, para realizar nuestro formulario, Sobre el paquete formulario New JFrame Form.

16

Le ponemos de nombre “Formulario”, luego aparecerá esta ventana vacía.

Dentro de esta ventana arrastraremos lo componentes Label, TextField, Table, Button, que están en la paleta de java.

Quedando tal como se muestra:

En el campo TextField, vamos asignarle el nombre de variable tcod, esto se hace dando clic derecho sobre la caga y seleccionando Change Variable Name, luego saldrá el siguiente cuadrito, en donde pondremos:

Para el botón, solo le hemos cambiado el nombre con Edit Text – “Buscar” , y el nombre de variable , le puse “BuscarXCodigo”. Similar a lo que se hizo con la cajita Text Field.

Similarmente debemos de cambiar el nombre de variable de la tabla, para este ejemplo cambiémoslo por “tabla1”. Para ello damos clic derecho en la tabla y escogemos Change Variables Name

17

Paso 6: Ahora procedemos a crear un evento, para que genere la acción, esto se hace posicionándose sobre el botón “Buscar”, clic derecho, tal como se muestra:

Luego de esto aparecerá el siguiente código:

Dentro del método del botón necesitamos, que al hacer clic en el botón, este obtenga el valor de la cajita Text Fields, para luego pasarlo al método de la clase proceso: private void BuscarXCodigoActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }

18

La codificación completa para el formulario de este programa se muestra a continuación:

Se puede observar que hemos creado objetos de la clase DefaultTableModel y Proceso (importando sus librerías). Luego dentro del constructor por defecto de la Clase Formulario, estamos agregando las columnas con sus respectivos nombres que deseamos apreciar en la tabla. Recordemos que la variable “tabla1” es el que asignamos a la tabla.

19

En el método BuscarXCodigo, estamos capturando el código ingresado por teclado con: String cod=tcod.getText(); Luego dt.setRowCount(0); - se utiliza esto para limpiar la tabla cada vez que hagamos un listado nuevo. Luego estamos utilizando un for del tipo iterativo, Este for que pertenece a la clase Alumnos, recorrerá el listado de la clase proceso al recibir un código por teclado. Por ultimo dentro del for, agregaremos el contenido de las filas dentro de un Objeto[] el cual no tiene una longitud limite de datos, esto se hace con: dt.addRow(new Object[]{x.getCodigo(),x.getApellido(),x.getCurso(), x.getExaParcial(),x.getExaFinal(),x.Promedio(),x.Observacion()}); si observamos estamos agregando los datos en cada filas de la columnas que hemos creado en el método constructor por defecto de la clase Formulario. Al Ejecutar esta aplicación, dando en RUN sobre la clase Formulario se obtiene el siguiente resultado:

Recordemos: que para este problema hemos utilizado, como manejador de base de datos a Ms Sql Server, para el cual hemos hecho la conexión en este ejemplo. En la siguientes paginas planteo, el mismo problema pero ahora trabajando con My Sql, o su parte Visual de MySQL Front. Lo que debemos de considerar que el trabajo con My sql es mas rápido que el trabajo con Ms Sql Server. Por lo antes ya expuesto sobre conexión directa e indirecta.

20

TRABAJANDO CON MY SQL FRONT 5.1 Para realizar el trabajo de conexión java con MySQL, debemos de importar las tablas contenidas en el Ms Sql Server, para ello empezaremos abriendo el programa My Sql Front 5.1 (distribución gratuita).

Paso 1: Una vez abierta la sesión con MySQL Front, (para cualquier duda sobre el inicio de sesión con My sql Front consulte el documento sobre instalación de my sql & My sql front 5.1). Tal como se muestra:

En esta ventana, buscamos en la primera columna donde dice “localhost” la seleccionamos, luego nos dirigimos en la barra de herramientas del programa, damos clic en Base de Datos nueva base de datos, tal como se muestra:

Luego el sistema mostrara la siguiente ventana: Le ponemos el nombre a nuestra base de datos “bdnotas”, tal como se muestra: Aceptar. Siempre debemos de considerar que para migrar de una base de datos a otra, la base de datos destino, debe de estar vacía. Es por eso que en este caso nuestra base de datos destino será la de MySQL , por tal razón estamos creando esta base de datos nueva.

21

Paso 2: Luego de dar aceptar, observaremos que la columna de la izquierda apareció nuestra nueva base de datos, la cual esta totalmente vacía:

Ahora estamos listos para importar los datos de Ms Sql Server a My Sql, a través del puente de datos que creamos anteriormente, entonces hacemos lo siguientes, seleccionamos la base de datos que acabamos de crear “bdnotas”, clic derecho importar Tabla ODBC, tal como se muestra:

Luego saldrá la siguiente ventana, que contiene los nombres de todos los puentes de datos que se encuentran en la maquina, para nuestro ejemplo seleccionamos el puente de datos “notas”, con el cual estuvimos trabajando para la conexión con Ms sql Server.

Paso 3: Luego de seleccionar nuestro puente de datos, damos clic en aceptar, y nos saldrá ala siguiente ventana, donde colocaremos el usuario – de cómo hemos entrado al sql, ponemos tal como se muestra en la siguiente imagen:

22

Damos clic en aceptar y saldrá las tablas, que contiene ese puente de datos, seleccionamos todas y le damos clic en Adelante >.

Luego damos Adelante, hasta llegar al final de esta petición luego, apreciaremos que se importaran las tablas a nuestra nueva base de datos “bdnotas”:

23

Paso 4: Después de que haya terminado de importar las tablas, cerramos esta ventana y observaremos que ya se han generado las tablas en nuestra nueva base de datos,

Para asegurarnos que la importación salió correctamente podemos ejecutar alguna consulta con el “Editor de SQL”, dentro de esta sección podemos escribir todas las consultas que queramos, por ejemplo:

Esto seria todo hasta el respecto de la importación de Ms Sql Server hacia My Sql.

CONEXIÓN CON MY SQL.- recordando lo que se dijo anteriormente sobre la conexión de My Sql, y Java debemos de tener presente que solo cambian en la conexión: Driver, URL, user, pass:

String Driver = "com.mysql.jdbc.Driver"; String URL = "jdbc:mysql://localhost:3306/bdnotas"; String user = "root"; String pass = " "; Considerando esto, modifiquemos el contenido de los atributos Driver,URL,user,pass, tal como se muestra en lo anterior, una vez realizados los cambios, el código de la clase Conexión.java, quedaría como sigue:

24

Luego antes de correr, el programa es necesario añadir la librería de MySQL a nuestro proyecto, para ello nos dirigimos a la tasita de nuestro proyecto clic derecho sobre ella: Propiedades, tal como se muestra:

25

Luego nos saldrá la siguiente ventana, en la cual escogeremos Librerias, posteriormente, agregaremos la librería de MySQL con el botón AddLibrary. Tal como se muestra:

Al dar clic sobre AddLibrary , aparecerá una nueva ventana en donde escogeremos lo siguiente:

Clic en Add Library, se verifica así:

Luego OK a esta ventana, y ahora si podemos correr nuestra aplicación con las modificaciones hechas:

26

Lo importante aquí es observar que el tiempo de respuesta del trabajar con MySQL, es mucho más rápido, que el de Microsoft Ms Sql Server.

2010

27