Documento TAP - Programas de Conectividad JDBC

37
Programas para la Conectividad M.C. Daniel Benito Román Ocampo Pag. 1 TABLA DE CONTENIDO LA CONECTIVIDAD A BASE DE DATOS DESDE JAVA (JDBC - JAVA DATABASE CONNECTIVITY) ...................................................... 3 EL PUENTE JDBC-ODBC ................................................................................................................................................................ 5 INSTALACIÓN DE MYSQL ............................................................................................................................................................ 12 APPLICATIONS MANAGER 8.1 ........................................................................................................................................................ 17 PROCESO DE INSTALACIÓN DE MYSQL GUI TOOLS.............................................................................................................................. 20 INSTALACIÓN DEL JDBC DRIVER ...................................................................................................................................................... 24 CONFIGURACIÓN DE UNA CONEXIÓN CON MYSQL CONNECTOR/J ..................................................................................... 27 CONECTARSE Y CONSULTAR UNA BASE DE DATOS PARA UN CLIENTE ........................................................................................ 28 CONEXIÓN A LA BASE DE DATOS MYSQL MEDIANTE UN PUENTE JDBC.................................................................................................... 29 ALGUNOS ERRORES MÁS COMUNES AL CONECTARSE A UNA BASE DE DATOS ............................................................................................... 31 LAS CLASES PRINCIPALES CORRESPONDIENTE AL PAQUETE JAVA.SQL ....................................................................................... 32 LA HERRAMIENTA PARA VERIFICAR LA INSTALACIÓN CORRECTA - JDBCTEST TOOL ................................................................... 35 JDBCTEST TOOL .......................................................................................................................................................................... 35 JDBC Driver Testing ............................................................................................................................................................. 35 A Simple Query Tool ........................................................................................................................................................... 35 A JDBC Teaching Tool .......................................................................................................................................................... 35 UTILIZACIÓN JDBCTEST: ............................................................................................................................................................... 36 UTILIZACIÓN JDBCTEST: ............................................................................................................................................................... 37 JDBC PARA ACCESAR MICROSOFT ACCESS (CON APOYO DEL JDBCTEST).................................. ¡ERROR! MARCADOR NO DEFINIDO.

description

jsjdjjdjd

Transcript of Documento TAP - Programas de Conectividad JDBC

Page 1: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 1

TABLA DE CONTENIDO

LA CONECTIVIDAD A BASE DE DATOS DESDE JAVA (JDBC - JAVA DATABASE CONNECTIVITY) ...................................................... 3

EL PUENTE JDBC-ODBC ................................................................................................................................................................ 5

INSTALACIÓN DE MYSQL ............................................................................................................................................................ 12

APPLICATIONS MANAGER 8.1 ........................................................................................................................................................ 17

PROCESO DE INSTALACIÓN DE MYSQL GUI TOOLS.............................................................................................................................. 20

INSTALACIÓN DEL JDBC DRIVER ...................................................................................................................................................... 24

CONFIGURACIÓN DE UNA CONEXIÓN CON MYSQL CONNECTOR/J ..................................................................................... 27

CONECTARSE Y CONSULTAR UNA BASE DE DATOS PARA UN CLIENTE ........................................................................................ 28

CONEXIÓN A LA BASE DE DATOS MYSQL MEDIANTE UN PUENTE JDBC .................................................................................................... 29

ALGUNOS ERRORES MÁS COMUNES AL CONECTARSE A UNA BASE DE DATOS ............................................................................................... 31

LAS CLASES PRINCIPALES CORRESPONDIENTE AL PAQUETE JAVA.SQL ....................................................................................... 32

LA HERRAMIENTA PARA VERIFICAR LA INSTALACIÓN CORRECTA - JDBCTEST TOOL ................................................................... 35

JDBCTEST TOOL .......................................................................................................................................................................... 35

JDBC Driver Testing ............................................................................................................................................................. 35

A Simple Query Tool ........................................................................................................................................................... 35

A JDBC Teaching Tool .......................................................................................................................................................... 35

UTILIZACIÓN JDBCTEST: ............................................................................................................................................................... 36

UTILIZACIÓN JDBCTEST: ............................................................................................................................................................... 37

JDBC PARA ACCESAR MICROSOFT ACCESS (CON APOYO DEL JDBCTEST) .................................. ¡ERROR! MARCADOR NO DEFINIDO.

Page 2: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 2

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.- Conexión a una base de datos a través de un vinculo URL .............................................................................................. 8

Figura 7.- Un ejemplo de una arquitectura basada en J2EE que incluye la implementación JDBC ................................................... 8

Figura 8.- Utilización del JDBC Driver............................................................................................................................................. 9

Figura 9.- Iniciación de Instalación .............................................................................................................................................. 20

Figura 10.- Elección de la Carpeta de Instalación ......................................................................................................................... 20

Figura 11.- Elección de la Carpeta de Instalación ......................................................................................................................... 21

Figura 12.- Elección del tipo de Instalación .................................................................................................................................. 21

Figura 13.- Finalización del Proceso de Instalación ...................................................................................................................... 22

Figura 14.- Ejecución: Configuración de una conexión ................................................................................................................. 22

Figura 15.- Wepieb de Descarga del Driver MySQL ...................................................................................................................... 24

Figura 16.- Configuración de variables de ambiente .................................................................................................................... 25

Figura 17.- Instalación del Driver MySQL ..................................................................................................................................... 26

Figura 18.- Ejecución 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.

Page 3: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 3

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

Estándar de Programación de Aplicaciones (API) para accesar abase de datos independientemente del

controlador o producto DBMS.

Figura 1.- Controlador JDBC con protocolo Nativo

Page 4: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 4

El API JDBC (Java Database Connectivity) es un estándar de la industria para la conectividad

independiente de base de datos entre el Lenguaje de Programación 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 también es conocido como JDBC 2.0. Es un paquete de API opcional

(formalmente conocido como el JDBC 2.0 Standard Extensión API).

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

Page 5: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 5

EL PUENTE JDBC-ODBC

El Driver JDBC (Driver tipo 1), también 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 métodos del JDBC en llamadas a funciones ODBC.

El puente se utiliza comúnmente 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, Edición Estándar.

Una de las ventajas que se tiene con este método, es que cualquier base de datos que tenga instalado un

controlador ODBC puede ser accesada.

Figura 3.- Puente JDBC-ODBC

Page 6: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 6

Client JDBC Driver ODBC Driver Database

Figura 4.- JDBC-ODBC Bridge plus ODBC Driver

Page 7: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 7

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

Page 8: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 8

La tecnología JDBC aprovecha la ventaja del estándar de Internet URLs para identificar conexiones a base

de datos.

Figura 6.- Conexión a una base de datos a través de un vinculo URL

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

Page 9: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 9

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

Establecer una conexión con una base de datos o cualquier fuente de datos tabular.

Envío de sentencias SQL

Procesa los resultados

Figura 8.- Utilización del JDBC Driver

Page 10: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 10

MySQL Downloads:

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

Page 11: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 11

Consulta de la documentación de MySQL: http://dev.mysql.com/doc/

MySQL Reference Manual

MySQL GUI Tools

Example Databases

Additional Resources

Page 12: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 12

INSTALACIÓN DE MYSQL

DESCARGAR EL ARCHIVO DE INSTALACIÓN:

Page 13: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 13

Page 14: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 14

Page 15: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 15

Page 16: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 16

Page 17: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 17

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 características que tienen sus diferentes ediciones son las siguientes:

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

Page 18: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 18

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

Page 19: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 19

El Kit de administración para la base de datos MySQL “MySQL GUI Tools” incluye los siguientes

productos:

MySQL Administrator

MySQL Query Browser

MySQL Migration Toolkit

Page 20: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 20

PROCESO DE INSTALACIÓN DE MySQL GUI Tools

Figura 9.- Iniciación de Instalación

Figura 10.- Elección de la Carpeta de Instalación

Page 21: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 21

Figura 11.- Elección de la Carpeta de Instalación

Figura 12.- Elección del tipo de Instalación

Page 22: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 22

Figura 13.- Finalización del Proceso de Instalación

Figura 14.- Ejecución: Configuración de una conexión

Page 23: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 23

Page 24: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 24

INSTALACIÓN 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

Page 25: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 25

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

ó también:

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

Figura 16.- Configuración de variables de ambiente

Page 26: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 26

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 método, es que no se requiere modificar la variable de ambiente

CLASSPATH, la desventaja es que cada ves que se instale una nueva versión de JAVA se debe

de respaldar el Driver (MySQL connector .jar) para copiarlo en el nuevo directorio de JAVA.

Figura 17.- Instalación del Driver MySQL

Page 27: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 27

CONFIGURACIÓN DE UNA CONEXIÓN CON MySQL CONNECTOR/J

El nombre de la clase que implementa java.sql.Driver en una conexión 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 conexión 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 número 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

Page 28: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 28

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 código 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 declaración).

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 conexión

Page 29: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 29

CONEXIÓN 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.- Ejecución de JDBC Test

Page 30: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 30

Page 31: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 31

ALGUNOS ERRORES MÁS COMUNES AL CONECTARSE A UNA BASE DE DATOS

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.

Page 32: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 32

LAS CLASES PRINCIPALES CORRESPONDIENTE A L PAQUETE JAVA.SQL

Connection

Hace una conexión a una base de datos SQL por medio de su dirección remota, el nombre de usuario,

contraseña, 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 método executeQuery(String query) de

un objeto Statement.

ResultSetMetaData

Contiene información adicional de un objeto ResultSet, tales como el número 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

Page 33: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 33

Page 34: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 34

Page 35: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 35

LA HERRAMIENTA PARA VERIFICAR LA INSTALA CIÓN CORRECTA - JDBCTEST TOOL

Para verificar la correcta instalación y configuración 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.

Page 36: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 36

UTILIZACIÓN JDBCTEST:

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

index.html

Page 37: Documento TAP - Programas de Conectividad JDBC

Programas para la Conectividad

M.C. Daniel Benito Román Ocampo

Pag. 37

UTILIZACIÓN JDBCTEST: