lunes, 13 de noviembre de 2017

JDBC




                           “AÑO DEL BUEN SERVICIO AL CIUDADANO”

     
                       INTREGRANTES:

v Sandrita Rafael Estela.
v Karen Juneth Soto Horna

                                            
                       DOCENTE:
                                           Marco Aurelio Porro Chulli.

                       CARRERA:
                                           Ing. Sistemas y Telemática.
                     
                       GRUPO:
                                       Drivers
                      
                       TEMA:
                                     JDBC
                      
                        
2017



                       





JDBC

1.  CONTENIDO

[ Capa de acceso de datos, creación:

a)  Capa de acceso de datos:

Ø Open Database Connectivity (categoría Acceso a bases de datos): Sistema de gestión de bases de datos (DBMS) almacene los datos. ODBC logra esto al insertar una capa intermedia (CLI) denominada nivel de Interfaz de Cliente 4 KB (529 palabras)

Ø Data Access Object (categoría Acceso a bases de datos): En software de computadores, un Data Access Object (DAO, Objeto de Acceso a Datos) es un componente de software que suministra una interfaz común entre 2 KB (281 palabras)

Ø Apache HBase (categoría Sistemas de gestión de bases de datos libres): Las bases de datos SQL clásicas, sin embargo, el proyecto Apache Phoenix proporciona una capa de SQL para Hbase así como acceso vía el API JDBC que puede 5 KB (512 palabras)

Ø IBATIS (sección La capa de Abstracción): En Java se utiliza JDBC; iBATIS utiliza su framework SQL-MAP (ibatis-sqlmap.jar). La capa de Driver se ocupa de la comunicación con la propia Base de 6 KB (723 palabras)

Ø GvSIG (categoría Software libre programado en Java): Acceso a servicios remotos: OGC (WMS, WFS, WCS, WFS-T, WPS), ArcIMS, Ecwp. Acceso a bases de datos y tablas: PostGIS, MySQL, ArcSDE, Oracle, JDBC, CSV 11 KB (1224 palabras)

Ø Plataforma G (categoría Bases de datos): Una de las fuentes de información (capa de datos) es recubierta por una interfaz (wrapper), el cual permitirá la extracción, acceso y consulta de la información 17 KB (2530 palabras)

b)  Creación:

Creación de la Capa de Acceso a Datos; al trabajar con datos, una opción es incrustar la lógica específica de datos directamente dentro de la capa de presentación. Sin embargo, lo recomendable es separar la lógica de acceso a datos de la capa de presentación.

Esta capa separada se conoce como DAL, que se implementa típicamente como un proyecto de Biblioteca de Clases. En principio, esta arquitectura de capas nos permite manejar de forma aislada los elementos relacionados con una u otra sin afectar ambas.

Todo el código específico al origen de datos, relacionado con los comandos Select, Insert, Update, y Delete debe ubicarse en la DAL. La capa de presentación sólo debe hacer llamadas a la DAL para cualquier
                 petición de datos.

[ Configuración de conexión BD con Netbeans:

Configuración de MySQL y de SQL Server para poder utilizar conexiones mediante el driver JDBC; ambos DBMS permiten la conexión mediante controladores Java puro de tipo JDBC, Sin embargo, la instalación de SQL Server es más complicada que la de MySQL, al menos para poder utilizar el JDBC.

Configurar SQL Server Express para poder usar el Driver JDBC java:

PASO 1:

SQL Server se instala por omisión con la Autenticación de Windows. Ocurre que el controlador JDBC; requiere que se utilice la Autenticación de SQL Server, ya que esta requiere de usuario y contraseña.

Por lo tanto, hay que cambiar la configuración para que la Autenticación o instalarlo de modo que sea mixta: Autenticación para Windows y Autenticación de SQL Server
En mi servidor se puede ver que admite ambos tipos de autenticación:



Autenticación de Windows: no pide usuario y contraseña porque utiliza la del Sistema Operativo.



Autenticación de SQL Server: va a pedir el usuario administrador (sa) y su contraseña. Se puede configurar al instalar o con posterioridad

Puede apreciarse que la conexión ha sido exitosa a través de la Autenticación de SQL Server. De lo contrario, si no está configurada, no se podrá conectar.

PASO 2:

Una vez que se tiene configurada la Autenticación de SQL Server hay que ejecutar el SQL Server Configuration Manager.

Allí podemos ver distintos servicios, tienen que estar iniciados dos servicios, como muestra la imagen (el agente no es necesario)

        PASO 3:

Hay que configurar la capa de red, de modo que SQL Server acepte conexiones de red TCP/IP, una vez hecho esto hay que reiniciar estos servicios.

 

Tienen que estar los tres protocolos habilitados. Ir a TCP/IP



Al final de la lista de Direcciones IP en IPALL colocar el número de puerto 1433, Reiniciar este servicio.


[ Definición de JDBC, tipos. Aplicaciones:

*   Definición de JDBC: Java Database Connectivity (JDBC) es una interfase de acceso a bases de datos estándar SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales. JDBC también proporciona una base común para la construcción de herramientas y utilidades de alto nivel.

El paquete actual de JDK incluye JDBC y el puente JDBC-ODBC. Estos paquetes son para su uso con JDK 1.0

JDBC es el API para la ejecución de sentencias SQL. (Como punto de interés JDBC es una marca registrada y no un acrónimo, no obstante, a menudo es conocido como “Java Database Connectivity”).  Consiste en un conjunto de clases e interfases escritas en el lenguaje de programación Java. JDBC suministra un API estándar para los desarrolladores y hace posible escribir aplicaciones de base de datos usando un API puro Java.

Usando JDBC es fácil enviar sentencias SQL virtualmente a cualquier sistema de base de datos. En otras palabras, con el API JDBC, no es necesario escribir un programa que acceda a una base de datos Sybase, otro para acceder a Oracle y otro para acceder a Informix. Un único programa escrito usando el API JDBC y el programa será capaz de enviar sentencias SQL a la base de datos apropiada. Y, con una aplicación escrita en el lenguaje de programación Java, tampoco es necesario escribir diferentes aplicaciones para ejecutar en diferentes plataformas. La combinación de Java y JDBC permite al programador escribir una sola vez y ejecutarlo en cualquier entorno.

Java, siendo robusto, seguro, fácil de usar, fácil de entender, y descargable automáticamente desde la red, es un lenguaje base excelente para aplicaciones de base de datos.

JDBC expande las posibilidades de Java. Por ejemplo, con Java y JDBC API, es posible publicar una página web que contenga un applet que usa información obtenida de una base de datos remota. O una empresa puede usar JDBC para conectar a todos sus empleados (incluso si usan un conglomerado de máquinas Windows, Macintosh y UNIX) a una base de datos interna vía intranet. Con cada vez más y más programadores desarrollando en lenguaje Java, la necesidad de acceso fácil a base de datos desde Java continúa creciendo.

*   Tipos:

Tipos de drivers JDBC: Los drivers son susceptibles de clasificarse en una de estas cuatro categorías.

1.- Puente JDBC-ODBC más driver ODBC: El producto de JavaSoft suministra acceso vía drivers ODBC. Nótese que el código binario ODBC, y en muchos casos el código cliente de base de datos, debe cargarse en cada máquina cliente que use este driver. Como resultado, este tipo de driver es el más apropiado en una red corporativa donde las instalaciones clientes no son un problema mayor, o para una aplicación en el servidor escrito en Java en una arquitectura en tres-niveles.

2.- Driver Java parcialmente Nativo: Este tipo de driver convierte llamadas JDBC en llamadas del API cliente para Oracle, Sybase, Informix, DB2 y otros DBMS. Nótese que como el driver puente, este estilo de driver requiere que cierto código binario sea cargado en cada máquina cliente.

3.- Driver Java nativo JDBC-Net: Este driver traduce llamadas JDBC al protocolo de red independiente del DBMS que después es traducido en el protocolo DBMS por el servidor. Este middleware en el servidor de red es capaz de conectar a los clientes puros Java a muchas bases de datos diferentes. El protocolo específico usado dependerá del vendedor. En general esta es la alternativa más flexible.

4.- Driver puro Java y nativo-protocolo: Este tipo de driver convierte llamadas JDBC en el protocolo de la red usado por DBMS directamente. Esto permite llamadas directas desde la máquina cliente al servidor DBMS y es la solución más práctica para accesos en intranets. Dado que muchos de estos protocolos son propietarios, los fabricantes de bases de datos serán los principales suministradores.

*   Aplicaciones:

Hay una gran variedad de arquitecturas posibles para las aplicaciones de bases de datos (dependiendo de los requisitos de la aplicación). Elegir el driver JDBC correcto es importante porque tiene un impacto directo en el rendimiento de la aplicación.

El puente JDBC-ODBC se podría considerar únicamente como una solución transitoria ya que no soporta todas las características de Java, y el usuario está limitado por la funcionalidad del driver ODBC elegido. Las aplicaciones a gran escala utilizarán drivers de los tipos 2, 3 o 4.

En las aplicaciones de Intranet es útil considerar los driver de tipo 2, pero estos drivers, como el puente ODBC, necesitan que ese código se instale en cada cliente. Por lo tanto, tienen los mismos problemas de mantenimiento que el driver puente JDBC-ODBC. Sin embargo, los drivers de tipo 2 son más rápidos que los de tipo 1 porque se elimina el nivel extra de traducción. Como los drivers de tipo 3 y de tipo 4 muestran mejor rendimiento que los drivers de tipo 2, la tendencia se dirige hacia un driver Java puro más robusto.

Para las aplicaciones relacionadas con Internet, no hay otra opción que utilizar drivers del tipo 3 o del tipo 4. Los drivers de tipo 3 son los que mejor funcionan con los entornos que necesitan proporcionar conexión a gran cantidad de servidores de bases de datos y a bases de datos heterogéneas.

Los drivers de tipo 3 funcionan con aplicaciones intensivas de datos multiusuario, en las que se espera un alto número de operaciones concurrentes de datos, siendo el rendimiento y la escalabilidad el principal factor. El servidor puede proporcionar facilidades de registro y de administración, características del equilibrio de carga y puede soportar cachés de catálogo y de consultas.

Los drivers de tipo 4 están generalmente recomendados para aplicaciones que requieren un acceso rápido y eficiente a bases de datos. Como estos drivers traducen llamadas JDBC directamente a protocolo nativo sin utilizar ODBC o el API nativos, pueden aportar acceso a bases de datos de alto rendimiento.

v Testconnection.java : Aplicación que permite comprobar si se puede establecer una conexión exitosa con la base de datos.
v Appl_01.java : Aplicación que permite visualizar las tablas existentes dentro de la base de datos.
v Appl_02.java : Aplicación que visualiza los discos e intérpretes dentro de la base de datos.
v Appl_03.java : Aplicación que permite crear una tabla con tres campos en la base de datos.
v Appl_04.java : Aplicación que permite agregar nuevo registro a la nueva tabla creada anteriormente con appl_03.java.





[ Uso de las clases class, Connection, DriverManager:


a)    Class


b)   Connection

Un objeto Connection representa una conexión con una base de datos. Una sesión de conexión incluye las sentencias SQL que se ejecutan y los resultados que son devueltos después de la conexión. Una única aplicación puede tener una o más conexiones con una única base de datos, o puede tener varias conexiones con varias bases de datos diferentes.

La forma estándar de establecer una conexión a la base de datos es mediante la llamada al método DriverManager.getConnection. Este método toma una cadena que contiene una URL. La clase DriverManager, referida como la capa de gestión JDBC, intenta localizar un driver que pueda conectar con la base de datos representada por la URL. La clase DriverManager mantiene una lista de clases Driver registradas y cuando se llama al método getConnection, se chequea con cada driver de la lista hasta que encuentra uno que pueda conectar con la base de datos especificada en la URL. El método connect de Driver usa esta URL para establecer la conexión.

Un usuario puede evitar la capa de gestión de JDBC y llamar a los métodos de Driver directamente. Esto puede ser útil en el caso raro que dos drivers puedan conectar con la base de datos y el usuario quiera seleccionar uno explícitamente. Normalmente, de cualquier modo, es mucho más fácil dejar que la clase DriverManager maneje la apertura de la conexión.

c)    DriverManager

La clase DriverManager implementa la capa de gestión de JDBC, y trabaja como intermediaria entre el usuario y los drivers. Guarda la lista de los drivers que están disponibles y establece la conexión entre la base de datos y el driver apropiado. Además, la clase DriverManager se ocupa de cosas cómo gestionar los límites de tiempo de ‘login’ en el driver y de la salida de los mensajes de traza y log.

Para aplicaciones simples, el único método en esta clase que necesita un programador general para su uso directamente es DriverManager.getConnection. Como su nombre indica, este método establece una conexión con la base de datos. JDBC permite al usuario llamar a los métodos de DriverManager getDriver, getDrivers y registerDriver así como al método de Driver connect, pero en la mayoría de los casos es preferible dejar que la clase DriverManager gestione los detalles al establecer la conexión.

La clase DriverManager mantiene una lista de clases disponibles que han sido registrados mediante el método DriverManager.registerDriver. Todas las clases Driver deben escribirse con una sección estática que cree una instancia de la clase y luego la registre en la clase DriverManager cuando se cargue. Además, el usuario normalmente no debería llamar a DriverManager.registerDriver directamente; debería llamarse automáticamente por el driver cuando esté se
carga.

Una vez que la clase Driver ha sido cargada y registrada con la clase DriverManager, se está en condiciones de establecer la conexión con la base de datos. La solicitud de la conexión se realiza mediante una llamada al método DriverManager.getConnection, y DriverManager testea los drivers registrados para ver si puede establecer la conexión.

A veces puede darse el caso de que más de un driver JDBC pueda establecer la conexión para una URL dada. Por ejemplo, cuando conectamos con una base de datos remota, podría ser posible usar un driver puente JDBC-ODBC, o un driver JDBC de protocolo genérico de red, o un driver suministrado por el vendedor.

[ Ejemplos:

Ejemplo1:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.JLabel;
import org.apache.log4j.Logger;

/**
 *
 * @author Ivan Salas Corrales <http://programandoointentandolo.com/>
 */
public class CreaCuenta implements ActionListener {

    private Logger log = Logger.getLogger(CreaCuenta.class);
    private Ventana v;
    private Connection cn;
    private PreparedStatement pstBuscarCodigo;
    private PreparedStatement pstInsertarCuenta;

    public CreaCuenta(Ventana v) {
        this.v = v;
        try {
            // Driver para conectar con MySQL
            Class.forName("com.mysql.jdbc.Driver");
            // Conexion con la base de datos
            cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/cuentas", "root", "");


            String sqlBusqueda = "SELECT codigo FROM cuentas WHERE codigo=?";
            pstBuscarCodigo = cn.prepareStatement(sqlBusqueda);

            String sqlNuevaCuenta = "INSERT INTO cuentas VALUES (?,?,?,?)";
            pstInsertarCuenta = cn.prepareStatement(sqlNuevaCuenta);

        } catch (SQLException ex) {
            log.error("Error " + ex.getErrorCode() + ": " + ex.getMessage());
        } catch (ClassNotFoundException ex) {
            log.error("No se encontro el Driver MySQL para JDBC.");
        }
    }

    @Override
    public void actionPerformed(ActionEvent e) {

        String codigo = v.getTextCodigo().getText();
        String nombre = v.getTextNombre().getText();
        String email = v.getTextEmail().getText();
        double saldo = (double) v.getTextSaldo().getValue();
        JLabel lbMensaje = v.getLbMensaje();

        try {
            pstBuscarCodigo.setString(1, codigo);
            // Si el codigo no esta en la bd se añade la cuenta
            ResultSet rs = pstBuscarCodigo.executeQuery();
            if (!rs.next()) {
                pstInsertarCuenta.setString(1, codigo);
                pstInsertarCuenta.setString(2, nombre);
                pstInsertarCuenta.setString(3, email);
                pstInsertarCuenta.setDouble(4, saldo);
                pstInsertarCuenta.executeUpdate();
                lbMensaje.setText("Cuenta agregada correctamente");

            } else {
                lbMensaje.setText("El codigo indicado ya esta en la base de datos");
            }
        } catch (SQLException ex) {
            log.error("Error " + ex.getErrorCode() + ": " + ex.getMessage());
        }
    }
}


EJEMPLO 2:

Statement MyStmt = con.createStatement();

MyStm.executeUpdate("CREATE TABLE Sells " + "(bar VAR  
beer VARCHAR(40), price REAL)" );


MyStm.executeUpdate("INSERT INTO Sells " + "VALUES ('Bar Of Foo', 'BudLite', 2.00)" );

String sqlString = "CREATE TABLE Bars " +"(name VARCHAR(40), address VARCHAR(80), license INT)" ; MyStm.executeUpdate(sqlString);


Ponga especial atención al espacio en blanco que sigue después de
"INSERT INTO Sells " evita que este string se pegue a "VALUES".

EJEMPLO 3:

Statement stmt = con.createStatement(); String bar, beer ;
float price ;

ResultSet rs = stmt.executeQuery("SELECT * FROM Sells");


while ( rs.next() ) {
bar = rs.getString("bar"); beer = rs.getString("beer"); price = rs.getFloat("price");


System.out.println(bar + " sells " + beer + " for " + price + " Dollars.");
}


2.  RESUMEN

JDBC es el funcionamiento básico de tecnología JAVA de la base de datos, no es la única tecnología; Hibernate Técnica, TopLink, etc. o base de datos Mapping operaciones se construyen en la parte superior de la tecnología JDBC, en términos prácticos, su rendimiento y JDBC es una gran diferencia, pero a la inversa, si JDBC con el mal, no es tan bueno como es hibernar.

En realidad, define un conjunto estándar de interfaces para operar la base de datos. Con el fin de permitir a Java para operar la base de datos, usted debe haber dado cuenta de la JDBC clase estas interfaces, diferentes proveedores de bases de datos con el fin de hacer que el lenguaje Java puede operar su propia base de datos, JDBC proporciona para la implementación de la interfaz, estas clases que implementan las interfaces JDBC pelean en un paquete frasco, lo que solemos ver la base de datos impulsada.

Debido a los diferentes mecanismos de datos de las operaciones de base de datos no es lo mismo, por lo que la realización concreta de JDBC variará; es fácil enviar sentencias SQL virtualmente a cualquier sistema de base de datos. En otras palabras, con el API JDBC, no es necesario escribir un programa que acceda a una base de datos Sybase, otro para acceder a Oracle y otro para acceder a Informix. Un único programa escrito usando el API JDBC y el programa será capaz de enviar sentencias SQL a la base de datos apropiada. Y, con una aplicación escrita en el lenguaje de programación Java, tampoco es necesario escribir diferentes aplicaciones para ejecutar en diferentes plataformas. La combinación de Java y JDBC permite al programador escribir una sola vez y ejecutarlo en cualquier entorno.

3.  SUMMARY

JDBC is the basic operation of JAVA technology database, is not the only technology; Technical Hibernate, TopLink, etc. Mapping or database operations are built on top of the JDBC technology, in practical terms, performance and JDBC is a big difference, but conversely, if JDBC with evil, is not as good as it is hibernating.

Actually, it defines a standard set of interfaces to operate the database. In order to allow Java to operate the database, you must have noticed the JDBC class these interfaces, different providers databases in order to make the Java language can operate your own database, JDBC provides for the implementation of the interface, these classes that implement the JDBC interfaces fight in a jar package, we usually see the database driven.

Due to the different mechanisms of operations data database is not the same, so the concrete realization of JDBC vary; It is easy to send SQL statements to virtually any database system. In other words, with the JDBC API, you need not write a program to access a Sybase database, another to access Oracle and another to access Informix. A unique program written using the JDBC API and the program will be able to send SQL statements to the appropriate database. And a written in the Java programming language application, it is not necessary to write different applications to run on different platforms. The combination of Java and JDBC allows the programmer write once and run in any environment.

4.  RECOMENDACIONES

¨    Debido a que la Universidad cuenta con Sitio Web, esto facilita el desarrollo de nuevas aplicaciones; por lo que los códigos fuentes de él, deberían estar al alcance de los alumnos, para motivar el desarrollo de nuevas Aplicaciones Webs. Con este fin, se mantiene un patrón establecido, tal como mantener un solo tipo de fondo (background), para evitar que exista demasiadas diferencias en cada aplicación.

¨    El diseño y desarrollo de las nuevas aplicaciones conduce a la minimización del ingreso de datos por parte del usuario; además el lenguaje de desarrollo que se utiliza está orientado a facilitar la ejecución en cualquier Sistema Operativo, ya que se ajusta a los estándares reconocidos, que permite la flexibilidad de los cambios.

¨    Se recomienda a poner en disposición de los alumnos de la Universidad la Aplicación de consulta de notas, dado que le ahorraría costo y tiempo para la obtención de las notas requeridas, desde el punto de consultas.

¨    Para que exista un enlace remoto con la Base de Datos, la aplicación no debe de conectarse directamente a la Base de Datos, sino que mediante los drivers JDBC - ODBC.

5.  CONCLUSIONES

« La aplicación fue desarrollada de tal forma que sea amigable para el usuario; con solo el ingreso del número de carnet, se despliega las notas del ciclo vigente y existe la opción de ir y regresar a consultar el historial de notas y el CUM. Al ser desarrollado en Java existe la ventaja de que la aplicación pueda ejecutarse en cualquier Sistema Operativo; esto permite a que la aplicación se adapte a cualquier cambio de estructura que desee generar la Unidad de Informática de la Universidad.

« La consulta de notas a través del Sitio HTTP que contiene la Universidad tiene sus beneficios; ya que le ofrece al alumnado un nuevo servicio, donde podrán consultar sus notas desde su casa o desde un Cyber Café; esto permitiría a la Universidad ofrecer nuevos servicios a los alumnos, además de ganar prestigio por estar a la vanguardia con la tecnología.

« Los drivers JDBC y ODBC establecen la estructura para el diseño y generación de conexiones y accesos a Base de Datos remotas; por lo que facilita el desarrollo de nuevas aplicaciones que la Universidad desee implementar en un futuro, orientados con este fin.


6.  APRECIACIÓN DEL EQUIPO

Este paquete permite conectarse a una base de datos, consultarla o actualizarla usando SQL. Su manejo es de importancia debido a la frecuencia con que las bases de datos son usadas hoy.

Así como con Java se logra independencia de la plataforma, al trabajar con JDBC se logra además independencia del proveedor de la base de datos. Una dificultad enfrentada por los desarrolladores de JDBC fue que existen muchos proveedores de bases de datos cada uno usando su propio protocolo.

Es así como se acordó el desarrollo de una API Java para SQL, la cual accede la base de datos vía un administrador de drivers de terceros los cuales se conectan a bases de datos específicas.  Cada proveedor de bases de datos debía generar su propio driver conectable al administrador de drivers.


7.  GLOSARIO DE TERMINOS

§    Sistema de Gestión de Bases de Datos (DBMS): Aplicación que permite a los usuarios almacenar, procesar, y recuperar información en una base de datos

§    Fuente de Datos (DSN): Los datos a los cuales quiere acceder (como a DBMS) e información para localizar datos (como la ruta o dirección IP)

§    Lenguaje de Consulta Estructurado (SQL): Un lenguaje de programación estándar que controla e interactúa con una DBMS

§    Aplicación Cliente: La aplicación que solicita datos (mediante SQL) de una fuente de datos usando ODBC.

§    Query: Recuperación, manipulación, o modificación de datos desde una fuente de datos enviando instrucciones SQL

§    Tabla: Recolección de datos cuya estructura lógica es en forma de campos (atributos) y registros, es decir, columnas y filas.

§    Driver o controlador ODBC: Un fichero DLL, fichero conectado dinámicamente (Windows) que envía una consulta SQL para acceder a datos almacenados en una base de datos y entregar datos a la aplicación cliente.

§    Interfaces: Esta noción sirve para señalar a la conexión que se da de manera física y a nivel de utilidad entre dispositivos o sistemas.

§    Fuente: Se trata de las instrucciones que un programa informático transmite a una computadora para que pueda ejecutarse. Dichas instrucciones son líneas de texto escritas en un lenguaje de programación (una estructura capaz de impartir instrucciones informáticas a partir de una determinada base.

§    Enlace: La orden vínculos se encuentra en el menú Editar. La orden sólo puede activarse si el documento actual contiene, como mínimo, un vínculo.


8.  LINKOGRAFÍA

©    http://ingteleco.webcindario.com/Java/Apuntes/Tema%2012%20-%20JDBC.pdf

©    http://profesores.elo.utfsm.cl/~agv/elo330/2s03/projects/JDBC/index.html

©    http://developers.sun.com/product/jdbc/drivers

©    http://ingteleco.webcindario.com/Java/Apuntes/Tema%2012%20-%20JDBC.pdf

©    http://documents.mx/documents/creacion-de-capa-de-acceso-a-datos.html

©    http://www.lsi.us.es/docencia/get.php?id=2145

©    https://msdn.microsoft.com/es-es/library/aa342346(v=sql.110).aspx

©    http://www.ibm.com/support/knowledgecenter/es/ssw_ibm_i_73/rzaha/jdbctydr.htm

©    https://msdn.microsoft.com/es-es/library/aa342346(v=sql.110).aspx

©    http://www.ibm.com/support/knowledgecenter/es/ssw_ibm_i_71/rzaha/basicjdbc.htm

LINK DIAPOSITIVAS:https://es.slideshare.net/SANDRITARAFAEL/jdbc-81991749