Vous êtes sur la page 1sur 37

Programas para la Conectividad

TABLA DE CONTENIDO
LA CONECTIVIDAD A BASE DE DATOS DESDE JAVA (JDBC - JAVA DATABASE CONNECTIVITY) ...................................................... 3
EL PUENTE JDBC-ODBC ................................................................................................................................................................ 5
INSTALACIN DE MYSQL ............................................................................................................................................................ 12
APPLICATIONS MANAGER 8.1 ........................................................................................................................................................ 17
PROCESO DE INSTALACIN DE MYSQL GUI TOOLS.............................................................................................................................. 20
INSTALACIN DEL JDBC DRIVER ...................................................................................................................................................... 24
CONFIGURACIN DE UNA CONEXIN CON MYSQL CONNECTOR/J ..................................................................................... 27
CONECTARSE Y CONSULTAR UNA BASE DE DATOS PARA UN CLIENTE ........................................................................................ 28
CONEXIN A LA BASE DE DATOS MYSQL MEDIANTE UN PUENTE JDBC .................................................................................................... 29
ALGUNOS ERRORES MS COMUNES AL CONECTARSE A UNA BASE DE DATOS ............................................................................................... 31
LAS CLASES PRINCIPALES CORRESPONDIENTE AL PAQUETE JAVA.SQL ....................................................................................... 32
LA HERRAMIENTA PARA VERIFICAR LA INSTALACIN CORRECTA - JDBCTEST TOOL ................................................................... 35
JDBCTEST TOOL .......................................................................................................................................................................... 35
JDBC Driver Testing ............................................................................................................................................................. 35
A Simple Query Tool ........................................................................................................................................................... 35
A JDBC Teaching Tool .......................................................................................................................................................... 35
UTILIZACIN JDBCTEST: ............................................................................................................................................................... 36
UTILIZACIN JDBCTEST: ............................................................................................................................................................... 37
JDBC PARA ACCESAR MICROSOFT ACCESS (CON APOYO DEL JDBCTEST).................................. ERROR! MARCADOR NO DEFINIDO.

M.C. Daniel Benito Romn Ocampo

Pag. 1

Programas para la Conectividad

INDICE DE FIGURAS
Figura 1.- Controlador JDBC con protocolo Nativo......................................................................................................................... 3
Figura 2.- Acceso directo a base de datos con un controlador puro ............................................................................................... 4
Figura 3.- Puente JDBC-ODBC ....................................................................................................................................................... 5
Figura 4.- JDBC-ODBC Bridge plus ODBC Driver ............................................................................................................................. 6
Figura 5.- El JDBC Driver................................................................................................................................................................ 7
Figura 6.- Conexin a una base de datos a travs de un vinculo URL .............................................................................................. 8
Figura 7.- Un ejemplo de una arquitectura basada en J2EE que incluye la implementacin JDBC ................................................... 8
Figura 8.- Utilizacin del JDBC Driver............................................................................................................................................. 9
Figura 9.- Iniciacin de Instalacin .............................................................................................................................................. 20
Figura 10.- Eleccin de la Carpeta de Instalacin ......................................................................................................................... 20
Figura 11.- Eleccin de la Carpeta de Instalacin ......................................................................................................................... 21
Figura 12.- Eleccin del tipo de Instalacin.................................................................................................................................. 21
Figura 13.- Finalizacin del Proceso de Instalacin ...................................................................................................................... 22
Figura 14.- Ejecucin: Configuracin de una conexin ................................................................................................................. 22
Figura 15.- Wepieb de Descarga del Driver MySQL ...................................................................................................................... 24
Figura 16.- Configuracin de variables de ambiente .................................................................................................................... 25
Figura 17.- Instalacin del Driver MySQL ..................................................................................................................................... 26
Figura 18.- Ejecucin de JDBC Test .............................................................................................................................................. 29
Figura 19.- Variable de ambiente para el directorio de clases. ........................................................... Error! Marcador no definido.
Figura 20.- Pantalla para registrar el Driver ....................................................................................... Error! Marcador no definido.
Figura 21.- Registro del Driver ODBC ................................................................................................. Error! Marcador no definido.

M.C. Daniel Benito Romn Ocampo

Pag. 2

Programas para la Conectividad

LA CONECTIVIDAD A BASE DE DATOS DESDE JA VA (JDBC - JAVA DATABASE CONNECTIVITY)

El JDBC es un mecanismo que permite a JAVA comunicarse con las base de datos usando una Interfaz
Estndar de Programacin de Aplicaciones (API) para accesar abase de datos independientemente del
controlador o producto DBMS.

Figura 1.- Controlador JDBC con protocolo Nativo

M.C. Daniel Benito Romn Ocampo

Pag. 3

Programas para la Conectividad

El API JDBC (Java Database Connectivity) es un estndar de la industria para la conectividad


independiente de base de datos entre el Lenguaje de Programacin JAVA y un amplio rango de base de
datos Base de datos SQL u otras fuentes de datos tales como hojas de calculo (Excel) o archivos planos

javax.sql

Es un paquete tambin es conocido como JDBC 2.0. Es un paquete de API opcional


(formalmente conocido como el JDBC 2.0 Standard Extensin API).

Figura 2.- Acceso directo a base de datos con un controlador puro

M.C. Daniel Benito Romn Ocampo

Pag. 4

Programas para la Conectividad

EL PUENTE JDBC-ODBC
El Driver JDBC (Driver tipo 1), tambin se le conoce como el puente JDBC-ODBC es un controlador para
hacer uso de base de datos y que emplea un controlador ODBC para conectarse a la base de datos. El
controlador convierte las llamadas de mtodos del JDBC en llamadas a funciones ODBC.
El puente se utiliza comnmente cuando no hay disponible un controlador puro de JAVA para una base de
datos en particular.
El controlador se implementa en la clase sun.jdbc.odbc.JdbcOdbcDriver y est incluido en el Java
2 SDK, Edicin Estndar.
Una de las ventajas que se tiene con este mtodo, es que cualquier base de datos que tenga instalado un
controlador ODBC puede ser accesada.

Figura 3.- Puente JDBC-ODBC

M.C. Daniel Benito Romn Ocampo

Pag. 5

Programas para la Conectividad

Client JDBC Driver ODBC Driver Database

Figura 4.- JDBC-ODBC Bridge plus ODBC Driver

M.C. Daniel Benito Romn Ocampo

Pag. 6

Programas para la Conectividad

El JDBC est compuesto principalmente por 2 conjuntos de interfaces:


El API JDBC para los programadores de aplicaciones.
El API para el controlador JDBC de bajo Nivel para los programadores de controladores.

Figura 5.- El JDBC Driver

M.C. Daniel Benito Romn Ocampo

Pag. 7

Programas para la Conectividad

La tecnologa JDBC aprovecha la ventaja del estndar de Internet URLs para identificar conexiones a base
de datos.

Figura 6.- Conexin a una base de datos a travs de un vinculo URL

Figura 7.- Un ejemplo de una arquitectura basada en J2EE que incluye la implementacin JDBC

M.C. Daniel Benito Romn Ocampo

Pag. 8

Programas para la Conectividad

El JDBC API permite realizar las siguientes tres operaciones, principalmente:

Establecer una conexin con una base de datos o cualquier fuente de datos tabular.

Envo de sentencias SQL

Procesa los resultados

Figura 8.- Utilizacin del JDBC Driver

M.C. Daniel Benito Romn Ocampo

Pag. 9

Programas para la Conectividad

MySQL Downloads:
http://dev.mysql.com/downloads/index.html

M.C. Daniel Benito Romn Ocampo

Pag. 10

Programas para la Conectividad

Consulta de la documentacin de MySQL: http://dev.mysql.com/doc/


MySQL Reference Manual
MySQL GUI Tools
Example Databases
Additional Resources

M.C. Daniel Benito Romn Ocampo

Pag. 11

Programas para la Conectividad

INSTALACIN DE MYSQL
DESCARGAR EL ARCHIVO DE INSTALACIN:

M.C. Daniel Benito Romn Ocampo

Pag. 12

Programas para la Conectividad

M.C. Daniel Benito Romn Ocampo

Pag. 13

Programas para la Conectividad

M.C. Daniel Benito Romn Ocampo

Pag. 14

Programas para la Conectividad

M.C. Daniel Benito Romn Ocampo

Pag. 15

Programas para la Conectividad

M.C. Daniel Benito Romn Ocampo

Pag. 16

Programas para la Conectividad

APPLICATIONS MANAGER 8.1

Applications Manager proporciona un cliente web que permite visualizar el monitoreo de los datos en
una base de datos MySQL.

Algunas de las caractersticas que tienen sus diferentes ediciones son las siguientes:

El sitio oficial es: http://manageengine.adventnet.com/

M.C. Daniel Benito Romn Ocampo

Pag. 17

Programas para la Conectividad

Algunos de los componentes que puede monitorear Application Manager, en una base de datos MySQL son:

Connection Time

Request Statistics

Connection Statistics

Thread Details

Table Lock Statistics

Key efficiency

Query Hit Ratio

Query Cache Hitrate

Replication Details

M.C. Daniel Benito Romn Ocampo

Pag. 18

Programas para la Conectividad

El Kit de administracin para la base de datos MySQL MySQL GUI Tools incluye los siguientes
productos:

MySQL Administrator

MySQL Query Browser

MySQL Migration Toolkit

M.C. Daniel Benito Romn Ocampo

Pag. 19

Programas para la Conectividad

PROCESO DE INSTALACIN DE MySQL GUI Tools

Figura 9.- Iniciacin de Instalacin

Figura 10.- Eleccin de la Carpeta de Instalacin

M.C. Daniel Benito Romn Ocampo

Pag. 20

Programas para la Conectividad

Figura 11.- Eleccin de la Carpeta de Instalacin

Figura 12.- Eleccin del tipo de Instalacin

M.C. Daniel Benito Romn Ocampo

Pag. 21

Programas para la Conectividad

Figura 13.- Finalizacin del Proceso de Instalacin

Figura 14.- Ejecucin: Configuracin de una conexin

M.C. Daniel Benito Romn Ocampo

Pag. 22

Programas para la Conectividad

M.C. Daniel Benito Romn Ocampo

Pag. 23

Programas para la Conectividad

INSTALACIN DEL JDBC DRIVER

Se instalar el archivo binario (.jar) del controlador JDBC para MySQL (MySQL Connector/J es el oficial JDBC
driver para MySQL).

Paso 1.- Descargar el archivo del controlador JDBC , desde el sitio siguiente:
http://dev.mysql.com/downloads/connector/j/5.0.html

Figura 15.- Wepieb de Descarga del Driver MySQL

Paso 2.- Descompactar el archivo, para poder localizar el archivo binario .jar

M.C. Daniel Benito Romn Ocampo

Pag. 24

Programas para la Conectividad

Paso 3A.- Modificar la variable de ambiente CLASSPATH


java -cp 'C:\j2sdk1.4.2\lib\mysql-connector-java-5.1.5-bin.jar' class \bin\MiConexion

tambin:
set CLASSPATH= C:\j2sdk1.4.2\lib\mysql-connector-java-5.1.5-bin.jar;

Figura 16.- Configuracin de variables de ambiente

M.C. Daniel Benito Romn Ocampo

Pag. 25

Programas para la Conectividad

Paso 3B.- Colocar el archivo: mysql-connector-java-5.1.5-bin.jar en la carpeta de JAVA JDK:


\Java\jdk1.5.0_08\jre\lib\ext
La ventaja que tiene este mtodo, es que no se requiere modificar la variable de ambiente
CLASSPATH, la desventaja es que cada ves que se instale una nueva versin de JAVA se debe
de respaldar el Driver (MySQL connector .jar) para copiarlo en el nuevo directorio de JAVA.

Figura 17.- Instalacin del Driver MySQL

M.C. Daniel Benito Romn Ocampo

Pag. 26

Programas para la Conectividad

CONFIGURACIN DE UNA CONEXIN CON MySQL CONNECTOR/J

El nombre de la clase que implementa java.sql.Driver en una conexin MySQL (MySQL Connector/J) es
com.mysql.jdbc.Driver. Es importante utilizar este nombre de clase cuando se registre el Driver o
cuando se configure una conexin MySQL Connector/J.
El formato de la URL para JDBC de MySQL Connector/J es como sigue, los campo entre corchetes ([, ])
son opcionales:
jdbc:mysql://[hostname][,failoverhost...][:port]/[database]
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

Si el hostname no se especifica, se tomar por defecto el localhost (127.0.0.1.) Si el nmero de puerto


no se especifica, se tomar el puerto 3306, el cual es el puerto por defecto que utiliza el servidor MySQL.
jdbc:mysql://[hostname:port],[hostname:port].../[database]
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

Referencia:
http://dev.mysql.com/doc/refman/4.1/en/connector-j-reference-configuration-properties.html

M.C. Daniel Benito Romn Ocampo

Pag. 27

Programas para la Conectividad

CONECTARSE Y CONSULTAR UNA BASE DE DATOS PARA UN CLIENTE


Para conectarse y consultar una base de datos desde un cliente, se debe de proporcionar el cdigo para
realizar las siguientes tareas:

1. Import Packages.
2. Registrar el JDBC Drivers.
3. Abrir una conexion a una Database.
4. Crear un objeto Statement(enunciado o declaracin).
5. Ejecutar un Query y retornar un objeto Result Set.
6. Procesar el Result Set.
7. Cerrar los objetos Result Set y Statement.
8. Hacer los cambios en la base de datos
9. Enviar los cambios (Actualizar la BD)
10. Cerrar la conexin

M.C. Daniel Benito Romn Ocampo

Pag. 28

Programas para la Conectividad

CONEXIN A LA BASE DE DATOS MySQL MEDIANTE UN PUENTE JDBC


import java.sql.*;
class JDBCTest
{
static String bd = "test";
static String login = "root";
static String password = "admin";
static String URL = "jdbc:mysql://localhost/"+bd;
public static void main(String[] args) throws Exception
{
Connection conexion = null;
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conexion = DriverManager.getConnection(URL, login, password);
if (conexion != null) {
System.out.println("Conexion a la BASE de DATOS MySQL " + URL + " ...Ok\n");
conexion.close();
}
}
catch(SQLException err) {
System.out.println(err);
}
catch(ClassNotFoundException err) {
System.out.println(err);
}
}
}

Figura 18.- Ejecucin de JDBC Test

M.C. Daniel Benito Romn Ocampo

Pag. 29

Programas para la Conectividad

M.C. Daniel Benito Romn Ocampo

Pag. 30

Programas para la Conectividad

ALGUNOS ERRORES MS COMUNES AL CONECTARSE A UNA BASE DE DATO S

La base de datos tuminita NO existe en el servidor MySQL:


com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown database 'tuminita'

El password o el Identificador del usuario es incorrecto:


java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

El URL para localizar el Driver JDBC es incorrecto:


java.sql.SQLException: No suitable driver

No es posible localizar al host que contiene la BD MySQL:


com.mysql.jdbc.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.

M.C. Daniel Benito Romn Ocampo

Pag. 31

Programas para la Conectividad

LAS CLASES PRINCIPALES CORRESPONDIENTE A L PAQUETE JAVA.SQL

Connection
Hace una conexin a una base de datos SQL por medio de su direccin remota, el nombre de usuario,
contrasea, y el puerto.

Statement
Se utiliza para ejecutar sentencias (o Statements), y el resultado se enviar a un objeto ResultSet (si es que es
una consulta).

ResultSet
Es el objeto que contiene el resultado de una consulta por medio del mtodo executeQuery(String query) de
un objeto Statement.

ResultSetMetaData
Contiene informacin adicional de un objeto ResultSet, tales como el nmero de columnas, el nombre de la
columna, etc.

DriverManager
Se encarga de manejar los drivers de JDBC.
Todas estas clases forman parte del paquete java.sql

M.C. Daniel Benito Romn Ocampo

Pag. 32

Programas para la Conectividad

M.C. Daniel Benito Romn Ocampo

Pag. 33

Programas para la Conectividad

M.C. Daniel Benito Romn Ocampo

Pag. 34

Programas para la Conectividad

LA HERRAMIENTA PARA VERIFICAR LA INSTALA CIN CORRECTA - JDBCTEST TOOL

Para verificar la correcta instalacin y configuracin del software para el manejo de base de datos, podemos
utilizar el programa de JAVA denominado JDBCTest.

JDBCTEST TOOL

The JDBCTest Tool may be used for a variety of database-related applications, as described below.

JDBC DRIVER TESTING


The JDBCTest Tool was primarily designed and built to allow users to test any feature of any JDBC
driver and their supported databases. To that end, each step in the function sequence can be
controlled by the user, allowing both correct and incorrect operations to occur. The JDBCTest Tool
covers all methods defined in the JDBC specification.

A SIMPLE QUERY TOOL


In addition to it's testing features, the JDBCTest Tool can be used for simple query and update
processing. With only a small number of inputs, a user can connect to a database, submit an SQL
statement, and view the results. To make that process even easier, the "Load And Go" command takes
a given SQL statement, creates a JDBC Statement object, executes the statement, and then displays
the contents of the JDBC ResultSet, all without further user input.
The JDBCTest Tool also has convenient features for retrieving previous SQL inputs and database
outputs, as well as saving all database outputs to a log file.

A JDBC TEACHING TOOL


The JDBCTest Tool can be used to teach programmers about the JDBC itself. Every time a JDBC
method call is executed from the JDBCTest Tool, the corresponding Java code is written into a text
window.

M.C. Daniel Benito Romn Ocampo

Pag. 35

Programas para la Conectividad

UTILIZACIN JDBCTEST:

http://java.sun.com/developer/onlineTraining/Database/JDBCShortCourse/jdbc/exercises/JDBCTestConnect/
index.html

M.C. Daniel Benito Romn Ocampo

Pag. 36

Programas para la Conectividad

UTILIZACIN JDBCTEST:

M.C. Daniel Benito Romn Ocampo

Pag. 37