Documento TAP - Programas de Conectividad JDBC
-
Upload
ramon-martinez-cruz -
Category
Documents
-
view
9 -
download
0
description
Transcript of 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.
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.
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
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
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
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
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
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
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
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 10
MySQL Downloads:
http://dev.mysql.com/downloads/index.html
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
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 12
INSTALACIÓN DE MYSQL
DESCARGAR EL ARCHIVO DE INSTALACIÓN:
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 13
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 14
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 15
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 16
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/
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
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
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
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
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
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 23
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
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
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
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
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
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
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 30
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.
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
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 33
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 34
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.
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
Programas para la Conectividad
M.C. Daniel Benito Román Ocampo
Pag. 37
UTILIZACIÓN JDBCTEST: