SlideShare una empresa de Scribd logo
CAPA DE ACCESO DE DATOS
JDBC
INTEGRANTTES:
 FIORELLA AGUILAR ISUIZA
 AARON DELGADO ESPARRAGA
La capa de datos está formada por los servicios que proporcionan los datos
persistentes utilizados por la lógica de negocios. Los datos pueden ser datos de
aplicaciones almacenados en un sistema de administración de bases de datos o
pueden incluir información de recursos y directorios almacenada en un almacén de
datos de protocolo ligero de acceso a directorios (LDAP). Los servicios de datos
también pueden incluir alimentación de datos de orígenes externos o datos a los
que se puede obtener acceso desde sistemas informáticos heredados.
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.
La BD Nortwind, por ejemplo, contiene las tablas Products y Categories
que guardan los productos en venta y sus categorías relacionadas. En la
DAL tendremos métodos como:
GetCategories(), que
regresará información de
todas las GetProducts(),
which will return
information about all of
the products.
GetProductsByCategoryID(cat
egoryID), que regresará todos
los productos pertenecientes
a una categoría en específico.
GetProductByProductID(Pro
ductID), que regresará
información de un product
en particular.
Estos métodos pueden regresar simplemente un DataSet o DataReader conteniendo los
datos generados por la consulta, pero idealmente deben contener objetos fuertemente
tipados (strongly-typed objects). Éstos son aquellos cuyo esquema está definido desde
el tiempo de compilación.
Por ejemplo, el DataReader y el DataSet no son por default objetos de este tipo ya que
su esquema se define por las columnas que regresa la consulta que envía los datos.
CREACIÓN DEL DATASET Y EL TABLE ADAPTER
Primero agregamos un DataSet al proyecto, para esto, dar click derecho en nodo del
proyecto y seleccionar Agregar Nuevo Elemento. Seleccionar la opción DataSet de
la lista y nombrarlo como Northwind.xsd.
Aceptar para agregar la carpeta App_Code
La clase TableAdapter funcionará como la Capa de Acceso a Datos. Para este
caso, contendrá los métodos GetProducts(),
GetProductByCategoryID(categoryID), y demás que se invocarán desde la
capa de presentación.El asistente pide seleccionar la BD a trabajar.
Seleccionar la Base de Datos Northwind
Guardar la Cadena de Conexión en el Web.Config
SELECCIONAR CONSULTA SQL
Creamos una consulta que
seleccione todos los registros
y campos de la tabla
Productos:
Uso del Editor de Consultas:
Seleccionar el botón de
Opcioones Avanzadas y
comprobar que esté seleccionada
la opción de “Generate Insert,
Update, and Delete statements".
SELECCIONAR GENERATE INSERT, UPDATE, Y DELETE
STATEMENTS.
Dar siguiente para ir a la
pantalla final. Aquí se pide
seleccionar los métodos para el
TableAdapter.
Cambio del nombre del
método.
EL DATATABLE PRODUCTS Y PRODUCTSTABLEADAPTER
Los objetos agregados nos sirven para tener
acceso a los datos con código tal como:
NorthwindTableAdapters.ProductsTableAdapter
productsAdapter =
new NorthwindTableAdapters.ProductsTableAdapter();
Northwind.ProductsDataTable products;
products = productsAdapter.GetProducts();
foreach (Northwind.ProductsRow productRow in products)
Response.Write("Product: " + productRow.ProductName
+ "<br />");
Construir la siguiente página web que enlaza el DataTable generado por
el método
GetProducts() a un GridView dentro del evento Page_Load
AllProducts.aspx
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="AllProducts.aspx.cs"
Inherits="AllProducts" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>View All Products in a GridView</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2>
All Products</h2>
<p>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</p>
</div>
</form>
</body>
</html>
AllProducts.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using NorthwindTableAdapters;
public partial class AllProducts : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ProductsTableAdapter productsAdapter = new
ProductsTableAdapter();
GridView1.DataSource = productsAdapter.GetProducts();
GridView1.DataBind();
}
CONFIGURACION DE CONEXIÓN BASE DE
DATOS CON NETBEANS.
Para realizar la conexión a base de datos desde java
necesitamos hacer uso de JDBC. Las bases de datos que
deseemos conectar deberán proveernos el driver JDBC en
un empaquetado JAR para añadirlo a las librerías del
proyecto.
Deberemos conseguir la librería de acuerdo a la versión
de la Base de Datos al cual deseemos conectarnos.
Es posible que su IDE reconozca la existencia del driver si la base de datos ha sido instalada
en el mismo ordenador junto con sus librerías, solo haría falta añadirlo a la lista de librerías
que se usarán en el proyecto, por ejemplo en NetBeans se podría ir al directorio Libraries
del Proyecto, hacer clic derecho sobre él y elegir Add Library y en la lista podría encontrase
la que necesitemos, o si queremos agregarla manualmente Add JAR/Folder y seleccionar
desde la dirección donde lo tenemos almacenado.
Add Library
Una vez agregada la librería, vamos a realizar el código de conexión, el cual
nos debe presentar una clase con 2 métodos que a mi parecer no deberían
faltar. Debería existir una función (Las funciones retornan datos) que nos
retorne un CachedRowSet que es algo similar al ResultSet que no podemos
retornar mientras el Statement esté sin cerrar, pero es obvio que por
seguridad deberemos tener todas las conexiones cerradas, por eso no
retornamos directamente el ResultSet y hacerlo sin cerrar las conexiones
sería de muy mala práctica.
En cambio, el CachedRowSet almacena todos los registros y podemos
manipularla con las conexiones cerradas, cosa que no podemos hacer con los
ResultSets, ya que éstos necesitan al Statement Abierto, y el Statement a su vez
necesita la conexión abierta. Por otro lado deberíamos tener un
procedimiento (No retorna ningún dato), no retorna nada ya que se encargará
de realizar operaciones unidireccionales.
En conclusión, usamos la Función cuando usemos Sentencias DML SELECT
incluyendo las Funciones y usar el Procedimiento cuando usemos INSERT,
DELETE O UPDATE, incluyendo los StoreProcedures(Procedimientos
Almacenados); aunque podemos conocer algunas bases de datos que
permitan retornar datos desde StoreProcedures, lo ideal sería hacerlo desde
funciones, manteniendo cada uno para su propósito. Del mismo modo, habrá
podido darse cuenta que ambos métodos reciben una variable String como
parámetro, ésta es nada menos que la Sentencia DML que deseamos ejecutar.
Como habrán podido apreciar en el
código, el manejo de excepciones es
relativamente sencilla, lo ideal sería
especificar las excepciones por cada
conexion, statement y resultset para
de esa manera asegurarnos que
permanezcan cerradas al finalizar la
ejecución o aun cuando existieran
errores; de igual manera sería muy útil
obligar a cerrar las conexiones desde
dentro de una clausula finally anexada
al try – catch.
Por último la url de conexión “jdbc:motor:servidor:puerto/basededatos”, variará a continuación
de jdbc, según el motor de base de datos al que deseemos conectarnos (PostgreSQL, MySQL, Oracle,
Derby, etc) , la dirección IP del servidor, el puerto y finalmente el nombre de la base de datos al que
queramos acceder.
DEFINICIÓN DE JDBC
JDBC es un API (Application programming interface) que describe o define una librería estándar para
acceso a fuentes de datos, principalmente orientado a Bases de Datos relacionales que usan SQL
(Structured Query Language). JDBC no sólo provee un interfaz para acceso a motores de bases de datos,
sino que también define una arquitectura estándar, para que los fabricantes puedan crear los drivers que
permitan a las aplicaciones javas el acceso a los datos.
JDBC hace posible estas tres cosas:
 Establece una conexión con la base de datos.
 Envía sentencias SQL.
 Procesa los resultados.
TIPOS DE CONECTORES (DRIVERS) JDBC
Tipo 1. JDBC-ODBC bridge más driver ODBC: “BRIDGE”
Permite el acceso a Base de Datos JDBC mediante un driver ODBC. Cada
máquina cliente que use el puente, debe tener librerías clientes de
ODBC (dll propias del S.O)
Ventajas: Buena forma de aprender JDBC. También puede ser buena
idea usarlo, en sistemas donde cada máquina cliente tenga ya instalado
los drivers ODBC. También es posible que sea la única forma de
acceder a ciertos motores de Bases de Datos.
Tipo 2. Driver Java parciales: “NATIVE”
Traducen las llamadas al API de JDBC Java en llamadas propias del motor de
Base de Datos (Oracle, Informix…). Al igual que el tipo anterior, exige en las
máquinas clientes código binario propio del cliente de la Base de datos
específica y del sistema operativo
Ventajas: Mejor rendimiento que el anterior. Quizá puede ser buena solución
para entornos controlados como intranets. Ejemplo OCI oracle.
Tipo 3. Driver JDBC a través de Middleware:
“NETWORK”
Traduce las llamadas al API JDBC en llamadas propias del protocolo
específico del broker. Éste se encargará de traducirlas de nuevo en
sentencias propias del motor de Base de Datos de cada caso.
Tipo 4: Driver java puro (acceso directo a Base de Datos): “THIN”.
Convierte o traduce las llamadas al API JDBC en llamadas al protocolo de red usado por
el motor de bases de datos, lo que en realidad es una invocación directa al motor de
bases de datos.
APLICACIONES.
 JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que
puede ser Oracle, Infomix, SyBase, etc.
 JDBC sirve para conectarse a una base de datos, y para cada base de datos hay un
driver JDBC diferente. Si la base de datos es remota, y el driver permite conectar a una
base de datos remota, por supuesto que se puede acceder a la base de datos a través
de Internet o de cualquier red, teniendo en cuenta siempre cortafuegos, Proxy, etc. Que
pueden cerrarnos los puertos de conexión.
 API Interfaz de programación: Es el conjunto de funciones y procedimientos o
(métodos si se refiere a programación orientada a objetos) que ofrece cierta biblioteca
para ser utilizado por otro software como una capa de abstracción.
LA CLASE CLASS
Las clases en Ruby son instancias de la clase Class. Cuando se define una
nueva clase (p.e. class NombreClase … end), se crea un objeto de la
claseClass y es asignado a una constante (en este caso NombreClase). Cuando
se usa NombreClase.new para construir un nuevo objeto, se usa el método de la
clase Class para crear nuevas instancias; y después se usa el método
inicializador de la propia clase NombreClase: la construcción y la inicialización de
un objeto son cosas distintas, y pueden modificarse.
LA CLASE CONNECTION
La clase connection proporciona un interfaz eficiente para el acceso a datos y
metadatos de una base de datos. Conocer los recursos de ambas para acceso a
base de datos es fundamental a la hora de obtener un código transparente al
motor de base de datos que utilice la aplicación.
CLASE JAVA DRIVERMANAGER
DriverManager es una clase estática de Java. DriverManager gestiona el
conjunto de controladores Java Database Connectivity (JDBC) que están
disponibles para que los utilice una aplicación.
Las aplicaciones pueden utilizar varios controladores JDBC
simultáneamente si es necesario. Cada aplicación específica un controlador
JDBC mediante la utilización de un URL (Localizador universal de
recursos). Pasando un URL de un controlador JDBC específico a
DriverManager, la aplicación informa a DriverManager acerca del tipo de
conexión JDBC que debe devolverse a la aplicación.
Para poder realizar esta operación, DriverManager debe estar al
corriente de los controladores JDBC disponibles para que pueda
distribuir las conexiones. Efectuando una llamada al método
Class.forName, carga una clase en la máquina virtual Java (JVM) que
se está ejecutando en función del nombre de serie que se pasa en el
método. A continuación figura un ejemplo del método class.forName
utilizado para cargar el controlador JDBC nativo:
Jdbc

Más contenido relacionado

La actualidad más candente

Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en javajent46
 
Visual 2010 sql server 2008
Visual 2010 sql server 2008Visual 2010 sql server 2008
Visual 2010 sql server 2008Alex Vasquez
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
José Antonio Sandoval Acosta
 
Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Net
jennysofia
 
Ado.net 2012
Ado.net 2012Ado.net 2012
Ado.net 2012
pepelon_k
 
Ado.net
Ado.netAdo.net
Ado.net
Eduardo Diiaz
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la info
José Antonio Sandoval Acosta
 
Conexion a bases de datos
Conexion a bases de datosConexion a bases de datos
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
ana leydi linares serrano
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
José Antonio Sandoval Acosta
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
DIANA TAPIA VERA
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
José Antonio Sandoval Acosta
 
Base de datos: sistemas_clienteservidor
Base de datos: sistemas_clienteservidorBase de datos: sistemas_clienteservidor
Base de datos: sistemas_clienteservidorJonathan
 
Ochoa ornelas raquel_acceso a una base de datos
Ochoa ornelas raquel_acceso a una base de datosOchoa ornelas raquel_acceso a una base de datos
Ochoa ornelas raquel_acceso a una base de datos
Raquel Ochoa
 
Modoconexion
ModoconexionModoconexion
Modoconexion
fanyto
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
LuiS YmAY
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
Samuel Marrero
 

La actualidad más candente (20)

Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Visual 2010 sql server 2008
Visual 2010 sql server 2008Visual 2010 sql server 2008
Visual 2010 sql server 2008
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
 
Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Net
 
Ado.net 2012
Ado.net 2012Ado.net 2012
Ado.net 2012
 
Ado.net
Ado.netAdo.net
Ado.net
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la info
 
Conexion a bases de datos
Conexion a bases de datosConexion a bases de datos
Conexion a bases de datos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
ADO .net
ADO .netADO .net
ADO .net
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Ado.Net
Ado.NetAdo.Net
Ado.Net
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Base de datos: sistemas_clienteservidor
Base de datos: sistemas_clienteservidorBase de datos: sistemas_clienteservidor
Base de datos: sistemas_clienteservidor
 
Ochoa ornelas raquel_acceso a una base de datos
Ochoa ornelas raquel_acceso a una base de datosOchoa ornelas raquel_acceso a una base de datos
Ochoa ornelas raquel_acceso a una base de datos
 
Modoconexion
ModoconexionModoconexion
Modoconexion
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 

Similar a Jdbc

ADO.NET
ADO.NETADO.NET
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.netGissela Antohane
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
Ronny Parra
 
Bases de Datos en en www.fiec.espol.edu.ec
Bases de Datos en  en www.fiec.espol.edu.ecBases de Datos en  en www.fiec.espol.edu.ec
Bases de Datos en en www.fiec.espol.edu.ec
Silvana Vargas
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
Magaly Portocarrero Labajos
 
Utilizaciòn de base de datos externas en arcgis.
Utilizaciòn de base de datos externas en arcgis.Utilizaciòn de base de datos externas en arcgis.
Utilizaciòn de base de datos externas en arcgis.
poli1971
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
jbersosa
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
jbersosa
 
Diapositivas de ado.net
Diapositivas de ado.netDiapositivas de ado.net
Diapositivas de ado.net
TAPIA SILVA EVELINA
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
kelly yesenia montalvan damian
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
Eudris Cabrera
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.net
TAPIA SILVA EVELINA
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 
JDBC
JDBCJDBC
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
Patricia Reyna
 
bd.net.pptx
bd.net.pptxbd.net.pptx
bd.net.pptx
juan gonzalez
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
jhersi saavedra garcia
 
Ado.net
Ado.netAdo.net

Similar a Jdbc (20)

ADO.NET
ADO.NETADO.NET
ADO.NET
 
Active x data object ado.net
Active x data object ado.netActive x data object ado.net
Active x data object ado.net
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Bases de Datos en en www.fiec.espol.edu.ec
Bases de Datos en  en www.fiec.espol.edu.ecBases de Datos en  en www.fiec.espol.edu.ec
Bases de Datos en en www.fiec.espol.edu.ec
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Utilizaciòn de base de datos externas en arcgis.
Utilizaciòn de base de datos externas en arcgis.Utilizaciòn de base de datos externas en arcgis.
Utilizaciòn de base de datos externas en arcgis.
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Diapositivas de ado.net
Diapositivas de ado.netDiapositivas de ado.net
Diapositivas de ado.net
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Diapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.netDiapositivas de acceso a datos ado.net
Diapositivas de acceso a datos ado.net
 
Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 
JDBC
JDBCJDBC
JDBC
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
bd.net.pptx
bd.net.pptxbd.net.pptx
bd.net.pptx
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
Ado.net
Ado.netAdo.net
Ado.net
 

Más de Fiorella Aguilar Isuiza

Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
Fiorella Aguilar Isuiza
 
Admnistracion de la seguridad
Admnistracion de la seguridadAdmnistracion de la seguridad
Admnistracion de la seguridad
Fiorella Aguilar Isuiza
 
Copia de seguridad y restaurar
Copia de seguridad y restaurarCopia de seguridad y restaurar
Copia de seguridad y restaurar
Fiorella Aguilar Isuiza
 
Transacciones
TransaccionesTransacciones
Universidad politecnica amazonica
Universidad politecnica amazonicaUniversidad politecnica amazonica
Universidad politecnica amazonica
Fiorella Aguilar Isuiza
 
Blog transact sql
Blog transact sqlBlog transact sql
Blog transact sql
Fiorella Aguilar Isuiza
 
Ejecutablenetbeans
EjecutablenetbeansEjecutablenetbeans
Ejecutablenetbeans
Fiorella Aguilar Isuiza
 
Sqlcommand
SqlcommandSqlcommand
Objeto connectio.docx
Objeto connectio.docxObjeto connectio.docx
Objeto connectio.docx
Fiorella Aguilar Isuiza
 
Espacio de nombres system.data.sql client
Espacio de nombres system.data.sql clientEspacio de nombres system.data.sql client
Espacio de nombres system.data.sql client
Fiorella Aguilar Isuiza
 
Gestor
GestorGestor
Poo y visual
Poo y visualPoo y visual
preparedStatement
preparedStatementpreparedStatement
preparedStatement
Fiorella Aguilar Isuiza
 

Más de Fiorella Aguilar Isuiza (20)

Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
Admnistracion de la seguridad
Admnistracion de la seguridadAdmnistracion de la seguridad
Admnistracion de la seguridad
 
Copia de seguridad y restaurar
Copia de seguridad y restaurarCopia de seguridad y restaurar
Copia de seguridad y restaurar
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Triggr
TriggrTriggr
Triggr
 
Universidad politecnica amazonica
Universidad politecnica amazonicaUniversidad politecnica amazonica
Universidad politecnica amazonica
 
Vistas
VistasVistas
Vistas
 
Comando ddl
Comando ddlComando ddl
Comando ddl
 
Blog transact sql
Blog transact sqlBlog transact sql
Blog transact sql
 
Ejecutablenetbeans
EjecutablenetbeansEjecutablenetbeans
Ejecutablenetbeans
 
Reportes
ReportesReportes
Reportes
 
Jdbc
JdbcJdbc
Jdbc
 
Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 
Objeto connectio.docx
Objeto connectio.docxObjeto connectio.docx
Objeto connectio.docx
 
Espacio de nombres system.data.sql client
Espacio de nombres system.data.sql clientEspacio de nombres system.data.sql client
Espacio de nombres system.data.sql client
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor
GestorGestor
Gestor
 
Poo y visual
Poo y visualPoo y visual
Poo y visual
 
Reportes
ReportesReportes
Reportes
 
preparedStatement
preparedStatementpreparedStatement
preparedStatement
 

Último

Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
cportizsanchez48
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
Joan Ribes Gallén
 
Evaluación de Lengua Española de cuarto grado de primaria
Evaluación de Lengua Española de cuarto grado de primariaEvaluación de Lengua Española de cuarto grado de primaria
Evaluación de Lengua Española de cuarto grado de primaria
SoniaMedina49
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
Claude LaCombe
 
Carlos salina de Gortari Presentación de su Sexenio
Carlos salina de Gortari Presentación de su SexenioCarlos salina de Gortari Presentación de su Sexenio
Carlos salina de Gortari Presentación de su Sexenio
johanpacheco9
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
20minutos
 

Último (20)

Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
 
Evaluación de Lengua Española de cuarto grado de primaria
Evaluación de Lengua Española de cuarto grado de primariaEvaluación de Lengua Española de cuarto grado de primaria
Evaluación de Lengua Española de cuarto grado de primaria
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
Carlos salina de Gortari Presentación de su Sexenio
Carlos salina de Gortari Presentación de su SexenioCarlos salina de Gortari Presentación de su Sexenio
Carlos salina de Gortari Presentación de su Sexenio
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
 

Jdbc

  • 1. CAPA DE ACCESO DE DATOS JDBC INTEGRANTTES:  FIORELLA AGUILAR ISUIZA  AARON DELGADO ESPARRAGA
  • 2. La capa de datos está formada por los servicios que proporcionan los datos persistentes utilizados por la lógica de negocios. Los datos pueden ser datos de aplicaciones almacenados en un sistema de administración de bases de datos o pueden incluir información de recursos y directorios almacenada en un almacén de datos de protocolo ligero de acceso a directorios (LDAP). Los servicios de datos también pueden incluir alimentación de datos de orígenes externos o datos a los que se puede obtener acceso desde sistemas informáticos heredados.
  • 3. 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.
  • 4. La BD Nortwind, por ejemplo, contiene las tablas Products y Categories que guardan los productos en venta y sus categorías relacionadas. En la DAL tendremos métodos como: GetCategories(), que regresará información de todas las GetProducts(), which will return information about all of the products. GetProductsByCategoryID(cat egoryID), que regresará todos los productos pertenecientes a una categoría en específico. GetProductByProductID(Pro ductID), que regresará información de un product en particular. Estos métodos pueden regresar simplemente un DataSet o DataReader conteniendo los datos generados por la consulta, pero idealmente deben contener objetos fuertemente tipados (strongly-typed objects). Éstos son aquellos cuyo esquema está definido desde el tiempo de compilación. Por ejemplo, el DataReader y el DataSet no son por default objetos de este tipo ya que su esquema se define por las columnas que regresa la consulta que envía los datos.
  • 5. CREACIÓN DEL DATASET Y EL TABLE ADAPTER Primero agregamos un DataSet al proyecto, para esto, dar click derecho en nodo del proyecto y seleccionar Agregar Nuevo Elemento. Seleccionar la opción DataSet de la lista y nombrarlo como Northwind.xsd.
  • 6. Aceptar para agregar la carpeta App_Code La clase TableAdapter funcionará como la Capa de Acceso a Datos. Para este caso, contendrá los métodos GetProducts(), GetProductByCategoryID(categoryID), y demás que se invocarán desde la capa de presentación.El asistente pide seleccionar la BD a trabajar.
  • 7. Seleccionar la Base de Datos Northwind Guardar la Cadena de Conexión en el Web.Config
  • 8. SELECCIONAR CONSULTA SQL Creamos una consulta que seleccione todos los registros y campos de la tabla Productos: Uso del Editor de Consultas: Seleccionar el botón de Opcioones Avanzadas y comprobar que esté seleccionada la opción de “Generate Insert, Update, and Delete statements".
  • 9. SELECCIONAR GENERATE INSERT, UPDATE, Y DELETE STATEMENTS. Dar siguiente para ir a la pantalla final. Aquí se pide seleccionar los métodos para el TableAdapter. Cambio del nombre del método.
  • 10. EL DATATABLE PRODUCTS Y PRODUCTSTABLEADAPTER Los objetos agregados nos sirven para tener acceso a los datos con código tal como: NorthwindTableAdapters.ProductsTableAdapter productsAdapter = new NorthwindTableAdapters.ProductsTableAdapter(); Northwind.ProductsDataTable products; products = productsAdapter.GetProducts(); foreach (Northwind.ProductsRow productRow in products) Response.Write("Product: " + productRow.ProductName + "<br />");
  • 11. Construir la siguiente página web que enlaza el DataTable generado por el método GetProducts() a un GridView dentro del evento Page_Load AllProducts.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AllProducts.aspx.cs" Inherits="AllProducts" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
  • 12. <title>View All Products in a GridView</title> </head> <body> <form id="form1" runat="server"> <div> <h2> All Products</h2> <p> <asp:GridView ID="GridView1" runat="server"> </asp:GridView>
  • 13. </p> </div> </form> </body> </html> AllProducts.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI;
  • 14. using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using NorthwindTableAdapters; public partial class AllProducts : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { ProductsTableAdapter productsAdapter = new ProductsTableAdapter(); GridView1.DataSource = productsAdapter.GetProducts(); GridView1.DataBind(); }
  • 15. CONFIGURACION DE CONEXIÓN BASE DE DATOS CON NETBEANS. Para realizar la conexión a base de datos desde java necesitamos hacer uso de JDBC. Las bases de datos que deseemos conectar deberán proveernos el driver JDBC en un empaquetado JAR para añadirlo a las librerías del proyecto. Deberemos conseguir la librería de acuerdo a la versión de la Base de Datos al cual deseemos conectarnos. Es posible que su IDE reconozca la existencia del driver si la base de datos ha sido instalada en el mismo ordenador junto con sus librerías, solo haría falta añadirlo a la lista de librerías que se usarán en el proyecto, por ejemplo en NetBeans se podría ir al directorio Libraries del Proyecto, hacer clic derecho sobre él y elegir Add Library y en la lista podría encontrase la que necesitemos, o si queremos agregarla manualmente Add JAR/Folder y seleccionar desde la dirección donde lo tenemos almacenado.
  • 16. Add Library Una vez agregada la librería, vamos a realizar el código de conexión, el cual nos debe presentar una clase con 2 métodos que a mi parecer no deberían faltar. Debería existir una función (Las funciones retornan datos) que nos retorne un CachedRowSet que es algo similar al ResultSet que no podemos retornar mientras el Statement esté sin cerrar, pero es obvio que por seguridad deberemos tener todas las conexiones cerradas, por eso no retornamos directamente el ResultSet y hacerlo sin cerrar las conexiones sería de muy mala práctica.
  • 17. En cambio, el CachedRowSet almacena todos los registros y podemos manipularla con las conexiones cerradas, cosa que no podemos hacer con los ResultSets, ya que éstos necesitan al Statement Abierto, y el Statement a su vez necesita la conexión abierta. Por otro lado deberíamos tener un procedimiento (No retorna ningún dato), no retorna nada ya que se encargará de realizar operaciones unidireccionales. En conclusión, usamos la Función cuando usemos Sentencias DML SELECT incluyendo las Funciones y usar el Procedimiento cuando usemos INSERT, DELETE O UPDATE, incluyendo los StoreProcedures(Procedimientos Almacenados); aunque podemos conocer algunas bases de datos que permitan retornar datos desde StoreProcedures, lo ideal sería hacerlo desde funciones, manteniendo cada uno para su propósito. Del mismo modo, habrá podido darse cuenta que ambos métodos reciben una variable String como parámetro, ésta es nada menos que la Sentencia DML que deseamos ejecutar.
  • 18. Como habrán podido apreciar en el código, el manejo de excepciones es relativamente sencilla, lo ideal sería especificar las excepciones por cada conexion, statement y resultset para de esa manera asegurarnos que permanezcan cerradas al finalizar la ejecución o aun cuando existieran errores; de igual manera sería muy útil obligar a cerrar las conexiones desde dentro de una clausula finally anexada al try – catch.
  • 19. Por último la url de conexión “jdbc:motor:servidor:puerto/basededatos”, variará a continuación de jdbc, según el motor de base de datos al que deseemos conectarnos (PostgreSQL, MySQL, Oracle, Derby, etc) , la dirección IP del servidor, el puerto y finalmente el nombre de la base de datos al que queramos acceder. DEFINICIÓN DE JDBC JDBC es un API (Application programming interface) que describe o define una librería estándar para acceso a fuentes de datos, principalmente orientado a Bases de Datos relacionales que usan SQL (Structured Query Language). JDBC no sólo provee un interfaz para acceso a motores de bases de datos, sino que también define una arquitectura estándar, para que los fabricantes puedan crear los drivers que permitan a las aplicaciones javas el acceso a los datos.
  • 20. JDBC hace posible estas tres cosas:  Establece una conexión con la base de datos.  Envía sentencias SQL.  Procesa los resultados. TIPOS DE CONECTORES (DRIVERS) JDBC Tipo 1. JDBC-ODBC bridge más driver ODBC: “BRIDGE” Permite el acceso a Base de Datos JDBC mediante un driver ODBC. Cada máquina cliente que use el puente, debe tener librerías clientes de ODBC (dll propias del S.O) Ventajas: Buena forma de aprender JDBC. También puede ser buena idea usarlo, en sistemas donde cada máquina cliente tenga ya instalado los drivers ODBC. También es posible que sea la única forma de acceder a ciertos motores de Bases de Datos.
  • 21. Tipo 2. Driver Java parciales: “NATIVE” Traducen las llamadas al API de JDBC Java en llamadas propias del motor de Base de Datos (Oracle, Informix…). Al igual que el tipo anterior, exige en las máquinas clientes código binario propio del cliente de la Base de datos específica y del sistema operativo Ventajas: Mejor rendimiento que el anterior. Quizá puede ser buena solución para entornos controlados como intranets. Ejemplo OCI oracle. Tipo 3. Driver JDBC a través de Middleware: “NETWORK” Traduce las llamadas al API JDBC en llamadas propias del protocolo específico del broker. Éste se encargará de traducirlas de nuevo en sentencias propias del motor de Base de Datos de cada caso.
  • 22. Tipo 4: Driver java puro (acceso directo a Base de Datos): “THIN”. Convierte o traduce las llamadas al API JDBC en llamadas al protocolo de red usado por el motor de bases de datos, lo que en realidad es una invocación directa al motor de bases de datos.
  • 23. APLICACIONES.  JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que puede ser Oracle, Infomix, SyBase, etc.  JDBC sirve para conectarse a una base de datos, y para cada base de datos hay un driver JDBC diferente. Si la base de datos es remota, y el driver permite conectar a una base de datos remota, por supuesto que se puede acceder a la base de datos a través de Internet o de cualquier red, teniendo en cuenta siempre cortafuegos, Proxy, etc. Que pueden cerrarnos los puertos de conexión.  API Interfaz de programación: Es el conjunto de funciones y procedimientos o (métodos si se refiere a programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
  • 24. LA CLASE CLASS Las clases en Ruby son instancias de la clase Class. Cuando se define una nueva clase (p.e. class NombreClase … end), se crea un objeto de la claseClass y es asignado a una constante (en este caso NombreClase). Cuando se usa NombreClase.new para construir un nuevo objeto, se usa el método de la clase Class para crear nuevas instancias; y después se usa el método inicializador de la propia clase NombreClase: la construcción y la inicialización de un objeto son cosas distintas, y pueden modificarse. LA CLASE CONNECTION La clase connection proporciona un interfaz eficiente para el acceso a datos y metadatos de una base de datos. Conocer los recursos de ambas para acceso a base de datos es fundamental a la hora de obtener un código transparente al motor de base de datos que utilice la aplicación.
  • 25. CLASE JAVA DRIVERMANAGER DriverManager es una clase estática de Java. DriverManager gestiona el conjunto de controladores Java Database Connectivity (JDBC) que están disponibles para que los utilice una aplicación. Las aplicaciones pueden utilizar varios controladores JDBC simultáneamente si es necesario. Cada aplicación específica un controlador JDBC mediante la utilización de un URL (Localizador universal de recursos). Pasando un URL de un controlador JDBC específico a DriverManager, la aplicación informa a DriverManager acerca del tipo de conexión JDBC que debe devolverse a la aplicación.
  • 26. Para poder realizar esta operación, DriverManager debe estar al corriente de los controladores JDBC disponibles para que pueda distribuir las conexiones. Efectuando una llamada al método Class.forName, carga una clase en la máquina virtual Java (JVM) que se está ejecutando en función del nombre de serie que se pasa en el método. A continuación figura un ejemplo del método class.forName utilizado para cargar el controlador JDBC nativo: