1. Carrera:
Ingeniería de sistemas y telemática
Curso:
Desarrollo de software i.
Tema:
JDBC
Docente:
Marco Aurelio Porro Chulli
Integrantes:
Erlin Darwin herrera cieza.
Yosmer Aguilar cabrera.
4. La creación de reflejo de la base de datos, implementada para cada
base de datos, conserva una copia de una base de datos de
producción de SQL Server en un servidor en espera.
La base de datos de producción se llama base de datos principal y la
copia en espera se llama base de datos reflejada.
Si el servidor principal genera un error, el servidor reflejado puede
convertir su base de datos en la base de datos principal a través de
un proceso denominado conmutación por error.
Por ejemplo, Partner_A y Partner_B son dos servidores asociados,
con la base de datos principal inicialmente en Partner_A como
servidor principal y la base de datos reflejada en Partner_B como
servidor reflejado.
Cuando Partner_A se vuelve a unir a la sesión de creación de reflejo,
se convierte en el servidor reflejado y su base de datos pasa a ser la
base de datos reflejada.
5.
6. En la ventana emergente Add Library hacemos clic en el boton
Manage Libraries.
En la venta Library Manager hacemos clic Nombre en el boton New
Library En la ventana emergente damos el nombre de la libreria y
en el tipo se deja el valor predeterminado y damos clic en ok New
Library ok En la ventana Library Manager seleccionamos la librería
recién creada y hacemos clic en el boton Add JAR/Folder.
Clic en el boton Ok, clic en el boton Add Library y finalmente clic
en el boton Ok.
7. Windows en general no sabe nada acerca de las bases
de datos, pero define el estándar ODBC consistente en
un conjunto de primitivas que cualquier driver o fuente
ODBC debe ser capaz de entender y manipular.
Con JDBC ocurre exactamente lo mismo: JDBC es una
especificación de un conjunto de clases y métodos de
operación que permiten a cualquier programa Java
acceder a sistemas de bases de datos de forma
homogénea.
Toda la conectividad de bases de datos de Java se
basa en sentencias SQL, por lo que se hace
imprescindible un conocimiento adecuado de SQL
para realizar cualquier clase de operación de bases de
datos.
Esto significa que el driver JDBC especifico para
conectarse con la base de datos, debe residir en el
sistema local.
8.
9. JDBC es una API de Java para ejecutar sentencias SQL. (Como punto de interés, JDBC es
nombre de una marca registrada y no es un acrónimo, a pesar de todo, JDBC es a menudo
interpretado como “Java DataBase Connectivity”). Consta de un conjunto de clases e
interfaces escrito en lenguaje de programación Java. Usando JDBC es fácil enviar
sentencias SQL a virtualmente cualquier base de datos relacional.
En otras palabras, con la API JDBC no es necesario escribir un programa para acceder a
una base de datos tipo Access, otro programa para acceder a una base de datos tipo Oracle
y asi para cada tipo de base de datos.
Uno puede escribir un solo programa usando la API JDBC y el programa sera capaz de
enviar sentencias SQL a la base de datos apropiada.
JDBC extiende lo que puede hacerse con Java.
Por ejemplo, con Java y la API de JDBC, es posible publicar una pagina web que usa
informacion obtenida de una base de datos remota.
10. TIPOS
Tipo 1: Java -> ODBC
Tipo 2: Java -> Protocolo DBMS
Tipo 3: Java -> Servidor JDBC
Tipo 4: Java -> DBMS
11. Tipo 1: Java -> ODBC
Esta arquitectura, tiene como ventaja importante que permite
la utilización de drivers ODBC existentes, pero la desventaja
de que hay que instalarlos en cada máquina, así como el
cliente de DBMS.
De esta forma, en el cliente se requiere:
DRIVERS JDBC
DRIVERS ODBC (se crea un Data Source con la
información de conexión)
CLIENTE DBMS
12. Tipo 2: Java -> Protocolo DBMS
Con esta implementación, en el cliente se tienen los
DRIVERS JDBC que se comunican directamente (en forma
nativa) con el CLIENTE Oracle, Sybase, Informix, DB2, o
cualquier otro DBMS.
De esta forma, entonces, al igual que el driver de tipo 1, este
también requiere que se instale en cada máquina cliente,
los DRIVERS JDBC y CLIENTE DBMS.
13. Tipo 3: Java -> Servidor JDBC
Esta clase de driver traduce llamadas JDBC en un protocolo de
red independiente del DBMS y luego, a un protocolo de DBMS.
Una ventaja que posee el driver tipo 3, también conocido como net-
protocol all-Java, es que no requiere instalación en los clientes, según
el DBMS. Como contrapartida, este driver requiere la instalación del
Servidor JDBC. Nota: Para ejecutar Applets, en 2 capas, si se utiliza el
driver tipo 3, el Servidor JDBC deberá encontrarse en el mismo host
que el Servidor Web, por ser el Servidor JDBC el que resolvería la
conexión.
14. Tipo 4: Java -> DBMS
El driver tipo 4 convierte llamadas JDBC directamente en el protocolo de
red usado por el DBMS. Esto permite llamadas directas desde la máquina
del cliente al servidor del DBMS y es una solución práctica para el acceso a
Intranets.
Dado que muchos de estos protocolos son propietarios, los proveedores de bases
de datos son la principal fuente de este tipo de driver.
Algunos ejemplos son:
I-net Software
WebLogic jDriver
AsToolBox
Merant
El driver tipo 4, también denominado native-protocol all-Java, no requiere instalación
en los clientes, según el DBMS.
15.
16. Connection
Un objeto Connection representa una conexión a una base de datos. Una sesión con una
conexión incluye las sentencias SQL que son ejecutadas y los resultados que son
devueltos a través de dicha conexión.
Una misma aplicación puede tener una o mas conexiones con una sola base de datos o
puede tener conexiones con varias bases de datos diferentes.
La clase Driver Manage trata de localizar el driver que pueda conectar con la base de
datos representada por esa URL. El siguiente código ejemplifica como abrir una
conexión a una base de datos localizada en la URL jdbc:odbc:wombat : String url =
jdbc:odbc:wombat; Connection con = Driver Manager.get Connection ; Una URL de
JDBC facilita una forma de identificar una base de datos de forma que el driver
apropiado la reconozca y establezca una conexión con ella.
La sintaxis estándar para URLs de JDBC es la siguiente: Una URL de JDBC tiene tres
partes separadas por dos puntos: jdbc es el protocolo.
El protocolo en una URL JDBC es siempre jdbc.
17. 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.
JDBC permite al usuario llamar a los métodos de Driver Manager get Driver, get Drivers y register
Driver así como al método de Driver connect, pero en la mayoría de los casos es preferible dejar
que la clase Driver Manager gestione los detalles al establecer la conexión.
La clase Driver Manager mantiene una lista de clases disponibles que han sido registrados
mediante el método Driver Manager.register Driver.
2 Mediante la adición del driver a la propiedad jdbc.drivers de java.lang.System- Esta es una lista
de nombres de clases de drivers, separadas por dos puntos, que es la que carga la clase Driver
Manager.
Cuando la clase Driver Manager se inicializa, mira en la propiedad jdbc.drivers, y si el usuario ha
introducido uno o mas drivers, la clase Driver Manager intenta cargarlos.
La solicitud de la conexión se realiza mediante una llamada al método Driver Manager.get
Connection, y Driver Manager testea los drivers registrados para ver si puede establecer la
conexión.
18. CONCLUSIÓN
Utilizar JDBC implica construir y ejecutar repetidamente sentencias
SELECT, INSERT, UPDATE y DELETE.
Por lo tanto:
Creamos mucho código que además estará muy acoplado a la base
de datos que estemos usando.
Tenemos que iterar manualmente sobre las propiedades de objetos
como ResultSet cada vez que consultemos algo en la base de
datos.
A su vez es muy costoso crear PreparedStatements en cada caso
por el mismo motivo de las iteraciones, pero en este caso sería
sobre los POJO’s para Inserts, Updates y Deletes.
Tendríamos que gestionar manualmente el orden de las
inserciones, actualizaciones y borrados para que no hubiese
problemas con la integridad referencial.