Está en la página 1de 15

UNIDAD 4.

- TECNOLOGÍAS DE
CONECTIVIDAD DE BASES DE DATOS

Las tecnologías que se emplean para la conectividad entre los


datos y la aplicación, se ha convertido en un factor muy
importante a la hora de desarrollar un proyecto web que cuente
con funcionalidad de acceso a datos. A continuación se describen
las tres principales tecnologías que se usan más para conectar
bases de datos.
4.1 ODBC

Introducción

Open Database Connectivity (ODBC) es la interfaz estratégica de


Microsoft para obtener acceso a datos en un entorno heterogéneo de
relacionales y no - relacionales sistemas de administración de la base de
datos. Basado en la especificación de interfaz de nivel de llamada del
grupo de acceso de SQL, ODBC proporciona una forma abierta,
independiente del proveedor de acceso a datos almacenados en una gran
variedad de propietario equipo personal, minicomputadoras y las bases
de datos de mainframe.
ODBC alivia la necesidad de aprender múltiples interfaces de
programación de aplicaciones para los programadores corporativos y
fabricantes independientes de software. ODBC proporciona ahora una
interfaz de acceso de datos universal.Con ODBC, los desarrolladores de
aplicaciones pueden permitir que una aplicación al mismo tiempo tener
acceso, ver y modificar los datos procedentes de múltiples bases de datos
diferentes.

ODBC es un componente básico de la arquitectura de servicios abiertos


de Microsoft Windows. Apple ha respaldado ODBC como una clave de
habilitación de la tecnología de anuncio de soporte en System 7 en el
futuro. Con soporte de la industria cada vez más, ODBC está rápidamente
emergiendo como un sector importante estándar para el acceso a datos
para las aplicaciones de Windows y Macintosh.

DEFINICIÓN
Open DataBase Connectivity (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.
Para conectar con ODBC una base de datos se ha de crear un DSN, que es un nombre
que asociamos a una conexión por ODBC para referirnos a ella desde las aplicaciones o
programas que deban conectarse con la base de datos.

Cualquier base de datos que se pretenda utilizar desde aplicaciones Windows debe tener
su propio driver ODBC. Por ejemplo, MySQL dispone de un Driver ODBC que se puede
descargar desde su página web. Las bases de datos Access (Microsoft Jet) y SQL Server
de Microsoft también tienen su driver ODBC y este ya se encuentra instalado en el
Windows de fábrica.
Una versión de 64 bits del sistema operativo Microsoft Windows incluye las siguientes
versiones de la herramienta Administrador de orígenes de datos de Microsoft Open
Database Connectivity (ODBC) (Odbcad32.exe):
La versión de 32 bits del archivo Odbcad32.exe se encuentra en la carpeta
%systemdrive%\Windows\SysWoW64.
La versión de 64 bits del archivo Odbcad32.exe se encuentra en la carpeta
%systemdrive%\Windows\System32.
El archivo Odbcad32.exe muestra los siguientes tipos de nombres de origen de datos
(DSN):
DSN de sistema
DSN de usuario

Síntoma 1
Muestra la versión de 32 bits de la herramienta Administrador de ODBC DSN de sistema de 32 bits,
usuario DSN de 32-bit y 64-bit DSN. Muestra la versión de 64 bits de la herramienta Administrador
de ODBC DSN de sistema de 64 bits, usuario DSN de 32-bit y 64-bit DSN.

Síntoma 2
La función SQLDataSources devuelve todas las versiones de usuario DSN,
independientemente de la arquitectura de la aplicación. La función SQLDataSources que
se llama en una aplicación de 32 bits devuelve exclusivamente DSN del sistema para los
controladores de 32 bits, pero devuelve DSN de usuario de los controladores de 32 bits
y controladores de 64 bits.De formasimilar, la función SQLDataSources que se llama en una
aplicación de 64 bits devuelve exclusivamente DSN del sistema para los controladores de 64 bits,
pero devuelve DSN de usuario de los controladores de 32 bits y controladores de 64 bits. Por lo
tanto, si la aplicación realiza una conexión utilizando un DSN que se devuelve desde
la función SQLDataSourcesde usuario, puede recibir el mensaje de error siguiente:
No se encontró el nombre de origen de datos y se especificó ningún controlador
predeterminado
Por ejemplo, considere el siguiente escenario. Crear un DSN de usuario para el
controlador de 32 bits "Microsoft Access Driver (*.mdb)". Este controlador no tiene una
versión de 64 bits correspondiente. La función SQLDataSources que se llama en una
aplicación de 64 bits, devuelve este DSN de usuario de 32 bits. Sin embargo, si realiza
una conexión a través de este DSN de usuario de 32 bits, recibirá el mensaje de error
que se ha mencionado anteriormente en esta sección.

4.2 ADO.NET
Introducción

El 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 .NETFramework. 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.

DEFINICION:
ADO.NET es un conjunto de clases que exponen servicios de acceso a datos para el
programador de .NET. ADO.NET ofrece abundancia de componentes para la creación de
aplicaciones de uso compartido de datos distribuidas. Constituye una parte integral de
.NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones.
ADO.NET satisface diversas necesidades de desarrollo, como la creación de clientes de
base de datos de aplicaciones para usuario y objetos empresariales de nivel medio que
utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.
Novedades en ADO.NET
Las siguientes características son nuevas en ADO.NET versión 2.0.
Proveedores administrados
Enumeración de servidores
 Ofrece compatibilidad con la enumeración de instancias activas de Microsoft SQL
Server 2000 y posterior. Para obtener más información, veaEnumeración de instancias
de SQL Server.
Procesamiento asincrónico
 Permite realizar operaciones asincrónicas de base de datos mediante una API
modelada después del modelo asincrónico que utiliza .NET Framework. Para obtener más
información, vea Realización de operaciones asincrónicas.
Varios conjuntos de resultados activos (MARS)
 Permite que las aplicaciones tengan más de un SqlDataReader abierto en una
conexión cuando cada instancia de SqlDataReader se inicia desde un comando distinto.
Para obtener más información, vea Uso de varios conjuntos de resultados activos.
Operaciones de copia masiva
 Permite realizar inserciones masivas rápidas mediante el proveedor de datos de
.NET para SQL Server. Para obtener más información, veaRealización de operaciones de
copia masiva.
Nuevos tipos de datos máximos de SQL Server
 Ofrece compatibilidad con los tipos de
datos varchar(max), nvarchar(max), varbinary(max) en SQL Server 2005. Para
obtener más información, veaTrabajo con tipos de valores grandes
Tipos definidos por el usuario de SQL Server
 Ofrece compatibilidad con tipos de datos definidos por el usuario (UDT) en SQL
Server 2005. Para obtener más información, vea Creación y uso de tipos definidos por
el usuario.
Notificaciones de SQL Server
 Permite que las aplicaciones .NET Framework envíen un comando a SQL Server
y soliciten que se genere una notificación si la ejecución del mismo comando fuera a
producir conjuntos de resultados diferentes de los inicialmente recuperados. Para
obtener más información, vea Uso de notificaciones de consulta.
Transacciones con aislamiento de instantáneas de SQL Server
 Ofrece compatibilidad con el aislamiento de instantáneas, un mecanismo de SQL
Server 2005 diseñado para reducir el bloqueo en aplicaciones OLTP. Para obtener más
información, vea Uso de aislamiento de instantáneas.
Reflejo de bases de datos en SQL Server 2005
 Ofrece compatibilidad con el reflejo de bases de datos en SQL Server 2005 con
una nueva sintaxis de cadena de conexión para especificar un servidor asociado de
conmutación por error. Para obtener más información, vea Uso del reflejo de base de
datos.
Estadísticas de proveedor
 Ofrece compatibilidad con la recuperación de estadísticas de tiempo de ejecución
en SQL Server 2005. Actualmente hay disponibles 21 contadores diferentes desde el
proveedor de .NET para SQL Server. Para obtener más información, vea Uso de
estadísticas de proveedor.
Cambio de contraseña en SQL Server 2005
 Permite que las aplicaciones .NET Framework cambien la contraseña de una
cuenta de usuario sin necesidad de que intervenga el administrador. Para obtener más
información, vea ChangePassword.
Procesamiento por lotes
 Mejora el rendimiento de la aplicación mediante la reducción del número de viajes
de ida y vuelta a la base de datos al aplicar las actualizaciones desde el DataSet. Para
obtener más información, vea Realizar operaciones por lotes mediante DataAdapters.
Seguimiento
 ADO.NET 2.0 presenta una nueva funcionalidad integrada de seguimiento de
datos que admiten los proveedores de datos de .NET. Para obtener más información,
vea Seguimiento administrado en .NET Framework.

Información general acerca de ADO.NET


ADO.NET proporciona acceso coherente a orígenes de datos como Microsoft SQL Server
y XML, así como a orígenes de datos expuestos mediante OLE DB y ODBC. Las
aplicaciones para usuarios que comparten datos pueden utilizar ADO.NET para conectar
a estos orígenes de datos y recuperar, manipular y actualizar los datos contenidos.

ADO.NET separa el acceso a datos de la manipulación de datos y crea componentes


discretos que se pueden utilizar por separado o conjuntamente. ADO.NET incluye
proveedores de datos de .NET Framework para conectarse a una base de datos, ejecutar
comandos y recuperar resultados. Los resultados se procesan directamente o se colocan
en un objeto DataSet de ADO.NET con el fin de exponerlos al usuario para un propósito
específico, combinados con datos de varios orígenes, o de utilizarlos de forma remota
entre niveles.
El objeto DataSet de ADO.NET también puede utilizarse independientemente de un
proveedor de datos de .NET Framework para administrar datos que son locales de la
aplicación o que proceden de un origen XML.
Las clases de ADO.NET se encuentran en el archivo System.Data.dll y
están integradas con las clases de XML que se encuentran en el archivo
System.Xml.dll. Cuando se compila un código que utiliza el espacio de
nombres System.Data, es necesario hacer referencia a los archivos
System.Data.dll y System.Xml.dll. Para obtener un ejemplo de una
aplicación de ADO.NET que se conecta a una base de datos, recupera
datos de ésta.
ADO.NET proporciona funcionalidad a los programadores que escriben código
administrado similar a la funcionalidad que los objetos ADO (ActiveX Data Objects)
proporcionan a los programadores de modelo de objetos componentes (COM) nativo.
Para obtener más información sobre las diferencias entre ADO y ADO.NET,
Utilizar DataSets en ADO.NET
El DataSet de ADO.NET es una representación de datos residente en memoria que
proporciona un modelo de programación relacional coherente independientemente del
origen de datos que contiene. Un DataSet representa un conjunto completo de datos,
incluyendo las tablas que contienen, ordenan y restringen los datos, así como las
relaciones entre las tablas.
Hay varias maneras de trabajar con un DataSet, que se pueden aplicar de forma
independiente o conjuntamente. Puede:
 Crear mediante programación una DataTable, DataRelation y una Constraint en
un DataSet y rellenar las tablas con datos.
 Llenar el DataSet con tablas de datos de un origen de datos relacional existente
mediante DataAdapter.
 Cargar y hacer persistente el contenido de DataSet mediante XML. Para obtener
más información, vea Utilizar XML en un DataSet.
También se puede transportar un DataSet con establecimiento inflexible de tipos
mediante un servicio Web XML. El diseño del DataSet lo convierte en idóneo para el
transporte de datos mediante servicios Web XML. Para obtener información general
sobre servicios Web XML, vea Información general acerca de servicios Web XML. Para
ver un ejemplo de cómo utilizar un DataSet de un servicio Web XML, vea Consumir
DataSet a partir de un servicio Web XML.

Conectar con datos y recuperarlos en ADO.NET


La principal función de cualquier aplicación de base de datos es conectarse a un
origen de datos y recuperar los datos contenidos . Los proveedores de datos de
.NET Framework para ADO.NET sirven como puente entre una aplicación y un
origen de datos, permitiéndole ejecutar comandos y recuperar datos mediante
un DataReader o un DataAdapter.

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.

Por el momento los DBMSs que soportan el acceso ADO.NET son:


SQL Server
Oracle
DB2 Universal Database
DB2 UDB for iSeries

Los requerimientos necesarios en cada caso son:

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.
La implementación utiliza el Data provider de Microsoft para Oracle
(System.Data.OracleClient)

DB2 UDB for iSeries


Se necesita la V5R3 del iSeries Access, que es una versión beta y está
solo en inglés.
Además cuando se crea un modelo se debe copiar la dll
IBM.Data.DB2.iSeries.dll al directorio gxnet/bin si la aplicación es web o
gxnetwin/bin win.
La versión V5R3 del iSeries Access se puede obtener de la
URL: http://www-
1.ibm.com/servers/eserver/iseries/access/windows/beta.html.

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)

DB2 Universal Database


Se necesita tener instalada la versión 8.1.3 o superior.
La dll es IBM.Data.DB2.dll, también se debe copiar a los directorios
gxnet/bin si la aplicación es web o gxnetwin/bin win.
4.3 JDBC
(Conectividad de Java con bases de datos)

Introducción

Es un derivado inspirado en el mismo, una interfaz de programación de


aplicaciones que permite la ejecución de operaciones sobre bases de
datos desde el lenguaje de programación Java independientemente del
sistema operativo donde se ejecute o de la base de datos a la cual se
accede utilizando el dialecto SQL del modelo de base de datos que se
utilice.
JDBC o Java Data Base Connectivity, creado por la empresa Sun, es la
API estándar de acceso a bases de datos con Java. Sun optó por crear
una nueva API en lugar de utilizar ODBC, porque esta última presentaba
algunos problemas desde ciertas aplicaciones Java. ODBC es una interfaz
escrita en lenguaje C, que al no ser un lenguaje portable, hacía que las
aplicaciones Java también perdiesen la portabilidad. Además, ODBC ha de
instalarse manualmente en cada máquina, mientras que los controladores
(drivers) JDBC que están escritos en Java son automáticamente
instalables y portables. El nivel de abstracción al que trabaja JDBC es más
alto que el de ODBC y, de esta forma, se pueden crear librerías de más
alto nivel.

¿Qué es JDBC?
• JDBC es una interfaz que permite a un programa java ejecutar instrucciones SQL
dentro de bases de datos relacionales.

– Las bases de datos deben seguir el estándar ANSI SQL-92


Cuatro tipos de drivers JDBC (Cont…)

I. Puente JDBC-ODBC
– traduce Java al API de ODBC

II. Native API


- traduce Java al API de la base de datos
III. Middleware
- Invoca un servidor intermedio generalmente ubicado en el mismo
host de la base de datos. Utiliza un protocolo estándar
independiente de la base de datos.

IV. Net Protocol


Genera el protocolo de comunicaciones de la base de datos
REQUERIMIENTOS
Para trabajar con JDBC es necesario tener controladores que permitan
acceder a las distintas bases de datos. Sin embargo, ODBC sigue siendo
hoy en día la API más popular para acceso a Bases de Datos, por lo que:
Sun se ha visto obligada a diseñar un puente que permite utilizar la API de
JDBC en combinación con controladores ODBC.
Fuentes bibliográficas:
http://www.uv.es/jac/guia/gestion/gestion3.htm
http://support.microsoft.com/kb/110093/es
http://es.wikipedia.org/wiki/Open_Database_Connectivity
http://www.desarrolloweb.com/faq/que-es-odbc.html
http://es.wikipedia.org/wiki/ADO.NET
http://msdn.microsoft.com/es-es/library/e80y5yhx(v=vs.80).aspx
http://es.wikipedia.org/wiki/Java_Database_Connectivity
http://cs.mty.itesm.mx/profesores/raul.perez/DAD/JDBC.pdf

http://tecnologias-marcelinofr.blogspot.mx/

https://prezi.com/x-jgyznd2ozh/conectividad-en-base-de-datos/

6.1 ODBC, ADO.NET, JDBC

Es la conectividad abierta a la base de datos, es una interfaz estrategia de Microsoft para obtener
acceso a datos en un entorno heterogéneo de sistemas relacionales y no-relacionales de
administración de base de datos. Basado en la especificación de interfaz de nivel de llamada del
grupo de acceso SQL.

ODBC proporciona una manera abierta,independiente del proveedor de acceso de datos


almacenados en una variedad de bases de datos de mainframe, minicomputadora y propietaria
PC.
JDBC por otra parte, es la conectividad a base de datos por JAVA, es una api, programa de
aplicación que permite la ejecución de operaciones sobre bases de datos que define como un
cliente puede tener acceso a la base de datos, comúnmente se pueden observar en métodos de
pagos de algunos programas informáticos, de tiendas comerciales y compras por Internet.

ADO.NET es un conjunto de componentes de software que suelen ser usados por los
programadores para acceder a los datos y/o servicios de datos necesarios para la interaccion del
cliente/administrador con la base de datos, esta es una parte de la biblioteca de clases incluidas en
Microsoft.NET Framework

https://sites.google.com/a/tectijuana.edu.mx/2016_08_tbd_8/6-sql-procedural/6-1-
procedimientos-almacenados

6.2 Conectividad desde un lenguaje huésped o en dispositivos móviles

La conectividad a la base de datos desde lenguaje huesped o de dispositivos moviles el algo muy
recurrente hoy en dia con el avance de la tecnologia desde hace algunos años, SQL Server 2005
lanzo su "Mobile Version" para base de datos algo ligeras en las aplicaciones de mercado, donde
solo utilizaba 2MB de espacio en el disco y 5MB de memoria.

Esta version presentaba una gran variedad de funciones y fue diseñada para admitir una gran lista
de dispositivos inteligentes y Tablets PC. Cuenta con un motor de base de datos compacto y un
solido optimizador de consultas, permite el acceso a datos remotos y replica de mezcla para
sincronizar datos.

Hablando en la actualidad, existen varios motores de base de datos para dispositivos móviles, por
ejemplo, SQL Lite que es una base de datos muy ligera para aplicaciones móviles, es muy
recomendada, también se puede utilizar base de datos en la nube hoy en día, condicionando a la
aplicación a utilizar datos o tener una red wireless con internet en todo momento que se utilice
esta función, pero suelen ser muy útiles cuando los datos a guardar son demasiados, y ahí entra
una de las desventajas, si no es en una red local, los datos pueden ser algo costoso.

https://sites.google.com/a/tectijuana.edu.mx/2016_08_tbd_8/6-sql-procedural/6-2-disparadores
¿Qué es una API y para qué
sirve?
Cada vez se hacen más presentes estas siglas, que hacen referencia
a las reglas y procesos necesarios para la intercomunicación entre
aplicaciones.
Una API (siglas de ‘Application Programming Interface’) es un conjunto de
reglas (código) y especificaciones que las aplicaciones pueden seguir
para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes
de la misma manera en que la interfaz de usuario facilita la interacción humano-
software.
Las API pueden servir para comunicarse con el sistema operativo (WinAPI), con
bases de datos (DBMS) o con protocolos de comunicaciones (Jabber/XMPP). En los
últimos años, por supuesto, se han sumado múltiples redes sociales (Twitter,
Facebook, Youtube, Flickr, LinkedIn, etc) y otras plataformas online (Google Maps,
WordPress…), lo que ha convertido el social media marketing es algo más sencillo,
más rastreable y, por tanto, más rentable.

Las API son valiosas, ante todo, porque permiten hacer uso de funciones ya
existentes en otro software (o de la infraestructura ya existente en otras
plataformas) para no estar reinventando la rueda constantemente,
reutilizando así código que se sabe que está probado y que funciona
correctamente. En el caso de herramientas propietarias (es decir, que no sean de
código abierto), son un modo de hacer saber a los programadores de otras
aplicaciones cómo incorporar una funcionalidad concreta sin por ello tener que
proporcionar información acerca de cómo se realiza internamente el proceso.

Ejemplos de uso de las API web


 Los desarrolladores de un programa cualquiera para Windows que se conecte
a Internet no necesitan incluir en su código las funciones necesarias para
reconocer la tarjeta de red, por ejemplo: basta una ‘llamada’ a la API
correspondiente del sistema operativo.
 Las plataformas relacionadas con Twitter, sean las de búsqueda y filtrado de
menciones como Topsy, o las de gestión de tuits como Hootsuite, pueden
hacer uso de la capacidad de procesamiento de los servidores de Twitter.
 Los webmasters pueden incluir en sus webs de forma automática productos
actualizados de Amazon o eBay, permitiendo iniciar el proceso de compra
desde su web. O quizá te permiten identificarte con Facebook Connect,
ahorrándose así el complejo proceso de gestión de usuarios (y e
 vitando al internauta tener que registrarse en una web más). Igualmente, los
botones de “+1” de los blogs son llamadas a la API de Google.
En definitiva, podemos ver el uso de las API como una ‘subcontratación’
de funciones. Por supuesto, esta subcontratación impone condiciones al
subcontratante: algunos sitios como Twitter o eBay limitan el número de llamadas
que un determinado software o web pueden hacer a su API en un determinado
período de tiempo (por minuto,hora o día) antes de tener que pagar una licencia.
http://www.ticbeat.com/tecnologias/que-es-una-api-para-que-sirve/

También podría gustarte