Odbc, Ado Net, JDBC (19730190)
Odbc, Ado Net, JDBC (19730190)
UNIDAD 6:
CONECTIVIDAD DE BASES DE DATOS
NOMBRE DE LA CARRERA
ING.SISTEMAS COMPUTACIONALES
MATERIA
TALLER DE BASES DE DATOS
ESTUDIANTE:
CARLOS MANUEL NIETO VASQUEZ
NUMERO DE CONTROL:
19730190
INDICE.............................................................................................................................................. 2
ODBC ............................................................................................................................................... 3
ADO.NET .......................................................................................................................................... 6
JDBC ............................................................................................................................................... 10
Referencias bibliográficas ............................................................................................................. 18
ODBC
Es un estándar de acceso a las bases de datos desarrollado por SQL Access Group en 1992.
El objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación,
sin importar qué 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 SQL,
entre la aplicación y el DBMS. El propósito de esta capa es traducir las consultas de datos de
la aplicación en comandos que el DBMS entienda. Para que esto funcione tanto la aplicación
como el DBMS deben ser compatibles con ODBC, esto es que la aplicación debe ser capaz
de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la
versión 2.0 el estándar soporta SAG y SQL.
El software funciona de dos modos, con un software manejador en el cliente, o una filosofía
cliente-servidor. En el primer modo, el driver interpreta las conexiones y llamadas SQL y las
traduce desde el API ODBC hacia el DBMS. En el segundo modo para conectarse a la base
de datos se crea una DSN dentro del ODBC que define los parámetros, ruta y características
de la conexión según los datos que solicite el creador o fabricante.
SIGNIFICADO
REQUERIMIENTOS
Para utilizar ODBC, se requieren los tres componentes siguientes:
EJEMPLOS:
ADO .NET es la nueva versión del modelo de objetos ADO (ActiveX Data Objects), es decir,
la estrategia que ofrece Microsoft para el acceso a datos. ADO .NET ha sido ampliado para
cubrir todas las necesidades que ADO no ofrecía, ADO .NET está diseñado para trabajar
con conjuntos de datos desconectados, lo que permite reducir el tráfico de red. ADO .NET
utiliza XML como formato universal de transmisión de los datos.
ADO .NET posee una serie de objetos que son los mismos que aparecen en la versión anterior
de ADO, como pueden ser el objeto Connection o Command, e introduce nuevos objetos
tales como el objeto DataReader, DataSet o DataView.
ADO.NET es un conjunto de componentes del software que pueden ser usados por los
programadores para acceder a datos y a servicios de datos. Es una parte de la biblioteca de
clases base que están incluidas en el Microsoft .NET Framework. Es comúnmente usado por
los programadores para acceder y para modificar los datos almacenados en un Sistema Gestor
de Bases de Datos Relacionales, aunque también puede ser usado para acceder a datos en
fuentes no relacionales. ADO.NET es a veces considerado como una evolución de la
tecnología ActiveX Data Objects (ADO), pero fue cambiado tan extensivamente que puede
ser concebido como un producto enteramente nuevo.
Componentes de ADO.NET
Existen dos componentes de ADO.NET que se pueden utilizar para obtener acceso a datos y
manipularlos:
ARQUITECTURA DE ADO.NET
REQUERIMIENTOS
Al trabajar con ADO.NET no se utiliza la dll de acceso ODBC de GX (gxdata.dll), sino que
toda la lógica se encuentra en la gxclasses.dll.
En el caso de los DBMSs, cada uno utiliza un Data Provider para acceder a la base de
datos, cada DBMS tiene su propio Data Provider para acceso ADO.NET.
SQL Server
Oracle
DB2 Universal Database
DB2 UDB for iSeries
SQL Server
ADO.NET utiliza el Data Provider de Microsoft para SQL Server (el cual se instala con el
framework).
Oracle
Se debe tener el Cliente de Oracle versión 8.1.7 o superior, de esta forma se instala el Data
Provider correspondiente.
El valor “Server Name” de las Dbms option hace referencia al Service Name definido en la
instancia del Oracle.
Se necesita la V5R3 del iSeries Access, que es una versión beta y está solo en inglés.
Nota:
El Data provider para DB2 UDB for iSeries no soporta BLOBs por ahora.
Una limitación del driver client acces V5 R3 no permite el llamado objetos remotos
en el Iseries (RPC). Esto implica store procedures (programas RPG o Cobol) u
objetos externos en el Iseries (programas CL)
Este API es parte de la plataforma Java desde la versión 1.0 de JDK. Con el paso del tiempo
se ha ido mejorando y aumentando su funcionalidad.
JDBC es ODBC extendido para toda la plataforma Java. Mientras que ODBC es una interfaz
escrita en lenguaje C, que tiene que ser instalado manualmente en cada maquina, JDBC, al
estar escrito en Java, posee todas las propiedades y ventajas del mismo.
ODBC es un estandar para las plataformas MS Windows. JDBC es capaz de trabajar con MS
Windows y otras plataformas.
El API JDBC puede definirse como un conjunto de clases, métodos e interfaces escritos en
lenguaje Java, que permiten el acceso a sistemas de bases de datos relacionales utilizando
instrucciones SQL.
¿Qué necesitamos?
SIGNIFICADO
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 java el
acceso a los datos.
Objetivos de JDBC
Cuando SUN se puso a trabajar en este tema, decidió seguir una serie de normas a seguir para
la definición del interfaz, y que han condicionado en gran manera el resultado final. Algunas
de estas características son:
API A NIVEL SQL. JDBC es un API de bajo nivel, es decir, que está orientado a
permitir ejecutar comandos SQL directamente, y procesar los resultados obtenidos.
Esto supone que será tarea del programador crear APIs de más alto nivel apoyándose
directamente sobre JDBC.
COMPATIBLE CON SQL. Cada motor de Base de Datos implementa una amplia
variedad de comandos SQL, y muchos de ellos no tienen por qué ser compatibles
con el resto de los motores de Base de Datos. JDBC, para solventar este problema de
incompatibilidad, ha tomado la siguiente posición
JDBC permite que cualquier comando SQL pueda ser pasado al controlador
directamente, con lo que una aplicación Java puede hacer uso de toda la
funcionalidad que provea el motor de Base de Datos, con el riesgo de que esto pueda
producir errores o no en función del motor de Base de Datos.
Con el objetivo de conseguir que un driver sea compatible con SQL (SQL
compliant), se obliga a que al menos, el driver cumpla el Estándar ANSI SQL 92.
JDBC debe ser utilizable sobre cualquier otro API de acceso a Bases de Datos, o más
en particular ODBC (Open Database Connectivity)
JDBC debe proveer un interfaz homogéneo al resto de APIs de Java.
JDBC debe ser un API simple, y desde ahí, ir creciendo.
JDBC debe ser fuertemente tipado, y siempre que sea posible de manera estática, es
decir, en tiempo de compilación, para evitar errores en tiempo de ejecución.
JDBC debe mantener los casos comunes de acceso a Base de Datos lo más sencillo
posible:
Mantener la sencillez en los casos más comunes (SELECT, INSERT, DELETE y
UPDATE)
Hacer realizables los casos menos comunes: Invocación de procedimientos
almacenados.
REQUERIMIENTOS
Para tener acceso a los datos desde una base de datos de SQL Server mediante el controlador
JDBC de Microsoft SQL Server, debe tener los siguientes componentes instalados en el
equipo:
Consideraciones previas.
El proceso de acceso a una Base de Datos a través de JDBC, exige dar una serie de pasos
previos antes de crear la conexión al motor de Base de Datos. El primer paso es determinar
el entorno en el que el proyecto va a ser instalado, y más en concreto, que parámetros del
entorno afectan directamente a JDBC:
Debemos considerar las características específicas de una base de datos, como por ejemplo,
como mapear los tipos de datos SQL a Java.
Es probable encontrarnos varios drivers distintos para la misma fuente de datos. Debemos
saber detectar cual es el driver más adecuado para nuestra aplicación, por ejemplo, si
elegimos un driver ODBC/JDBC, tendremos más flexibilidad para elegir distintas fuentes de
datos, pero si por ejemplo trabajamos con una Base de Datos Oracle, un driver JDBC
diseñado específicamente para esta base de datos será mucho más eficiente.
PROCEDIMIENTO DE CONEXIÓN.
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. Inconvenientes: No es
buena idea usar esta solución para aplicaciones que exijan un gran rendimiento, ya que la
transformación JDBC-ODBC es costosa. Tampoco es buena solución para aplicaciones con
alto nivel de escalabilidad.
Tipo 2. Driver Java parciales: “NATIVE”
Ventajas: Mejor rendimiento que el anterior. Quizá puede ser buena solución para entornos
controlados como intranets. Ejemplo OCI oracle. Inconvenientes: Principalmente la
escalabilidad, ya que estos drivers exigen que en la máquina cliente librerías del cliente de la
Base de Datos.
Ventajas: Buena solución cuando necesitamos acceder a Bases de Datos distintas y se quiere
usar un único driver JDBC para acceder a las mismas. Al residir la traducción en el servidor
del middleware, los clientes no necesitan librerías específicas, tan solo el
driver. Inconvenientes: La desventaja principal reside en la configuración del servidor donde
se encuentra el middleware. Necesitará librerías específicas para cada motor de base de datos
distinto, etc.
Arquitecturas JDBC
Aplicaciones standalone
Applets comunicando con un servidor Web
Aplicaciones y applets comunicando con una base de datos a través de un puente
JDBC/ODBC.
Aplicaciones accediendo a recursos remotos usando mecanismos como Java RMI
El procedimiento de conexión con el controlador de la base de datos,
independientemente de la arquitectura es siempre muy similar.
En el primero de los casos (a través de la propiedad sql.driver), JDBC usará el
primer driver que permita conectarse correctamente a la Base de Datos.
Los conectores o drivers JDBC, se pueden dividir en cuatro tipos principalmente:
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)
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
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.
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.
S.O donde vaya a correr.
La aplicación que accede a la base de datos reside en el mismo lugar que el driver de la base
de datos. El driver accederá al servidor donde corra el motor de base de datos.
En el ejemplo, una aplicación java corriendo en una máquina cliente que usa el driver también
local. Toda la comunicación a través de la red con la base de datos será manejada por el driver
de forma transparente a la aplicación Java.
Referencias bibliográficas
https://repositorio.tec.mx/bitstream/handle/11285/628132/CEM337108.pdf?sequence=1&is
Allowed=y
https://www.elguille.info/NET/ADONET/cadena_de_conexion_para_conectar_a_una_base
_de_sql_server.htm
Connecting to SQL Server with the JDBC Driver (10 de octubre 2007).
https://docs.microsoft.com/en-us/previous-
versions/sql/legacy/ms378672(v=sql.90)?redirectedfrom=MSDN
https://elvex.ugr.es/decsai/csharp/databases/index.xml
https://docs.microsoft.com/en-us/cpp/data/odbc/open-database-connectivity-
odbc?redirectedfrom=MSDN&view=msvc-170