Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SIGNIFICADO
Open Database Connectivity (ODBC) es la interfaz estratgica de Microsoft para obtener
acceso a datos en un entorno heterogneo de relacionales y no - relacionales sistemas de
administracin de la base de datos. Basado en la especificacin 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 mltiples interfaces de programacin 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 aplicacin al mismo tiempo tener acceso, ver y
modificar los datos procedentes de mltiples bases de datos diferentes.
ODBC es un componente bsico de la arquitectura de servicios abiertos de Microsoft
Windows.Apple ha respaldado ODBC como una clave de habilitacin de la tecnologa de
anuncio de soporte en System 7 en el futuro. Con soporte de la industria cada vez ms, ODBC
est rpidamente emergiendo como un sector importante estndar para el acceso a datos para
las
aplicaciones
de
Windows
y
Macintosh.
REQUERIMIENTOS
Para
utilizar
ODBC,
se
requieren
los
tres
componentes
siguientes:
Ejemplos de cliente - un ODBC front-end (tambin llamado ODBC cliente habilitado) - ODBC:
Microsoft Access, una aplicacin creada con Access, una aplicacin creada con Microsoft
Visual Basic, una aplicacin creada con C + Win SDK + ODBC SDK o las aplicaciones basadas
en
ODBC
de
otros
proveedores
(como
Lotus).
CONTROLADOR ODBC - un controlador ODBC para el servidor ODBC. El catlogo
de controladores ODBC contiene una lista extensa de los controladores ODBC. Por
ejemplo, Microsoft ODBC Driver Pack es una coleccin de los siete controladores ODBC listo
para su uso o se incluye con los clientes ODBC. Un controlador de ODBC de SQL Server se
incluye con Access y Informix est trabajando en un controlador ODBC para Informix.
EJEMPLOS:
4.2 ADO.NET
INTRODUCCION
SIGNIFICADO
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 estn incluidas en el Microsoft .NET Framework. Es comnmente usado por
los programadores para acceder y para modificar los datos almacenados en un Sistema Gestor
de Bases de Datos Relacionales, aunque tambin puede ser usado para acceder a datos en
fuentes no relacionales. ADO.NET es a veces considerado como una evolucin de la
tecnologa 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:
El DataSet
En el diagrama siguiente se ilustra la relacin entre un proveedor de datos de .NET Framework
y un DataSet
Proveedores de datos de .NET Framework
Los proveedores de datos de .NET Framework son componentes diseados explcitamente
para la manipulacin de datos y el acceso rpido a datos de slo lectura y slo avance. El
objeto Connection proporciona conectividad a un origen de datos. El objeto Command permite
tener acceso a comandos de base de datos para devolver datos, modificar datos, ejecutar
procedimientos almacenados y enviar o recuperar informacin sobre parmetros. El
objetoDataReader proporciona una secuencia de datos de alto rendimiento desde el origen de
datos. Por ltimo, el objeto DataAdapter proporciona el puente entre el objeto DataSet y el
origen de datos. El DataAdapter utiliza objetos Command para ejecutar comandos SQL en el
origen de datos tanto para cargar el DataSet con datos como para reconciliar en el origen de
datos los cambios aplicados a los datos incluidos en el DataSet.
DataSet
El DataSet de ADO.NET est expresamente diseado para el acceso a datos
independientemente del origen de datos. Como resultado, se puede utilizar con mltiples y
distintos orgenes de datos, con datos XML o para administrar datos locales de la aplicacin.
El DataSet contiene una coleccin de uno o ms objetos DataTable formados por filas y
columnas de datos, as como informacin sobre claves principales, claves externas,
restricciones y relaciones relativa a los datos incluidos en los objetos DataTable.
ARQUITECTURA ADO.NET
REQUERIMIENTOS
Al trabajar con ADO.NET no se utiliza la dll de acceso ODBC de GX
(gxdata.dll), sino que toda la lgica 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
Nota:
El Data provider para DB2 UDB for iSeries no soporta BLOBs por ahora.
Una limitacin 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 versin 8.1.3 o superior.
La dll es IBM.Data.DB2.dll, tambin se debe copiar a los directorios gxnet/bin si
la aplicacin es web o gxnetwin/bin win.
4.3 JDBC
INTRODUCCIN
Java proporciona una plataforma completa, flexible y segura para el desarrollo de aplicaciones,
incluyendo la conectividad con una base de datos. Esta conectividad o acceso a base de datos
relacionales con Java es posible gracias a la API JDBC (Java DataBase Connectivity).
Este API es parte de la plataforma Java desde la versin 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, mtodos e interfaces escritos en
lenguaje Java, que permiten el acceso a sistemas de bases de datos relacionales utilizando
instrucciones SQL.
que necesitamos ?
- El API JDBC con dos paquetes principale, java.sql y javax.sql
- Un controlador de acceso a una base de datos
El controlador servir para conectar la aplicacin con la API JDBC, proporcionando
comunicacin con la base de datos.
En definitiva, lo que el estndar JDBC hace posible es:
SIGNIFICADO
JDBC es un API (Application programming interface) que describe o define una
librera estndar para acceso a fuentes de datos, principalmente orientado a Bases
de Datos relacionales que usan SQL (Structured Query Language). JDBC no slo
provee un interfaz para acceso a motores de bases de datos, sino que tambin
define una arquitectura estndar, para que los fabricantes puedan crear los drivers
que permitan a las aplicaciones java el acceso a los datos.
Cuando SUN se puso a trabajar en este tema, decidi seguir una serie de normas a
seguir para la definicin del interfaz, y que han condicionado en gran manera el resultado final.
Algunas de estas caractersticas 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
ms alto nivel apoyndose directamente sobre JDBC.
JDBC permite que cualquier comando SQL pueda ser pasado al driver
directamente, con lo que una aplicacin 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
funcin 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 Estndar ANSI SQL 92.
JDBC debe ser utilizable sobre cualquier otro API de acceso a Bases
de Datos, o ms en particular ODBC (Open Database Connectivity)
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:
Controlador de JDBC de Microsoft SQL Server
El proceso de acceso a una Base de Datos a travs de JDBC, exige dar una serie de
pasos previos antes de crear la conexin al motor de Base de Datos. El primer paso es
determinar el entorno en el que el proyecto va a ser instalado, y ms en concreto, que
parmetros del entorno afectan directamente a JDBC:
Debemos considerar las caractersticas especficas 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 ms adecuado para nuestra aplicacin, por ejemplo, si elegimos
un driver ODBC/JDBC, tendremos ms flexibilidad para elegir distintas fuentes de datos, pero si
por ejemplo trabajamos con una Base de Datos Oracle, un driver JDBC diseado
especficamente para esta base de datos ser mucho ms eficiente.
En funcin de donde se encuentre el driver fsicamente, debemos considerar aspectos de
rendimiento y seguridad. Por ejemplo, si cargamos el driver desde un servidor remoto
tendremos que considerar aspectos sobre seguridad de Java.
Procedimiento de conexin.
1.
Cargar el driver. Cualquier driver JDBC, independientemente del tipo debe implementar
el interfaz java.sql.Driver. La carga del driver se puede realizar de dos maneras distintas:
Definiendo los drivers en la variable sql.driver (variable que mantiene todos las clases
de los drivers separados por comas) Cuando la clase DriverManager se inicializa,
busca esta propiedad en el sistema.
El programador puede forzar la carga de un driver especfico, usando el mtodo
Class.forName(driver).
2.
Registro del driver. Independientemente de la forma de carga del driver
que llevemos a cabo, ser responsabilidad de cada driver registrarse a s mismo,
usando el mtodo DriverManager.registerDriver. Esto permite a la clase
DriverManager, usar cada driver para crear conexiones con el controlador de Base
de Datos. Por motivos de seguridad, la capa que gestiona JDBC, controlar en todo
momento que driver es el que se est usando, y cuando se realicen conexiones,
slo se podrn usar drivers que estn en el sistema local de ficheros o que usen el
mismo ClassLoader que el cdigo que est intentando crear la conexin.
3.
Crear una conexin. El objetivo es conseguir un objeto del tipo java.sql.Connection a
travs del mtodo DriverManager.getConnection(String url). La capa de gestin, cuando este
mtodo es invocado, tratar de encontrar un driver adecuado para conectar a la base de datos
especificada en la URL, intentndolo por el orden especificado en la variable sql.driver. Cada
driver debera examinar si ellos proveen el subprotocolo que especifica la URL. (Ver anexo)
ODBC:
puede ser
buena idea usarlo, en sistemas donde cada mquina cliente tenga ya instalado los
drivers ODBC. Tambin es posible que sea la nica forma de acceder a ciertos
motores de Bases de Datos. Inconvenientes: No es buena idea usar esta solucin
para aplicaciones que exijan un gran rendimiento, ya que la transformacin JDBCODBC es costosa. Tampoco es buena solucin para aplicaciones con alto nivel de
escalabilidad.
Ventajas: Mejor
rendimiento que el anterior. Quiz puede ser buena solucin para entornos
controlados como intranets. Ejemplo OCI oracle. Inconvenientes:Principalmente la
escalabilidad, ya que estos drivers exigen que en la mquina cliente libreras del
cliente de la Base de Datos.
Tipo 3.
NETWORK
Driver
JDBC
travs
de
Middleware:
Arquitecturas JDBC
Aplicaciones standalone
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 mquinas clientes cdigo
binario propio del cliente de la Base de datos especfica y del sistema operativo
Traduce las llamadas al API JDBC en llamadas propias del protocolo especfico 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 invocacin directa al motor de bases de
datos.
S.O donde vaya a correr.
La arquitectura bsica de JDBC (ya la hemos visto) es simple. Una clase llamada
DriverManager provee un mecanismo para controlar un conjunto de drivers JDBC. Esta clase
intenta cargar los drivers especificados en la propiedad del sistema jdbc.drivers. Tambin
podemos cargar un driver explicitamente usando Class.forName(). Durante la carga, el driver
intentar registrarse a si mismo usando el mtodo clase DriverManager.registerDriver().
Cuando se invoque al mtodo DriverManager.getConnection(), sta buscar el primer driver de
los registrados que pueda manejar una conexin como la descrita en la URL y retornar un
objeto que implemente el interfaz java.sql.Connection.
Sin embargo, en funcin de la localizacin de la base de datos, el driver, la aplicacin y el
protocolo de comunicacin usado, nos podemos encontrar distintos escenarios que accedan a
Base de Datos a travs de JDBC:
Todos ellos se pueden agrupar en dos tipos distintos de arquitecturas:
La aplicacin 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 este caso, ser el driver el encargado de manejar la comunicacin a travs de la red.
En el ejemplo, una aplicacin java corriendo en una mquina cliente que usa el driver
tambin local. Toda la comunicacin a travs de la red con la base de datos ser manejada por
el driver de forma transparente a la aplicacin Java.
REFERENCIAS:
https://sites.google.com/site/conceptoprogramacion/Home/jdbc1
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=introjdbc
https://sites.google.com/site/conceptoprogramacion/Home/jdbc1
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=introjdbc
Objetivo
Los nuevos mtodos de conexin ODBC (empleando directamente el driver
utilizando un data source de archivo) amplan el alcance (usuarios y computadores) de
la conexin ODBC que se vena utilizando hasta ahora.Utilizando data sources, la
instalacin de una nueva aplicacin que accede a los datos mediante ODBC implica la
definicin del data source correspondiente en cada cliente. Estos nuevos mecanismos
simplifican la etapa de instalacin ya que el data source puede reutilizarse.
Instalacin y administracin de controladores ODBC
En los siguientes temas se describe la forma de instalar los controladores ODBC y la manera
de configurarlos para su uso con Microsoft Access. Una vez instalados estos controladores,
deber configurar un origen de datos ODBC para cada base de datos SQL con la que desee
importar, exportar o adjuntar datos.
Funciones ODBC
odbc_autocommit Activa el comportamiento automtico de envo
odbc_binmode Manejo de informacin de columna binaria
odbc_close_all Cerrar todas las conexiones ODBC
odbc_close Cerrar una conexin ODBC
odbc_columnprivileges Lista las columnas y los privilegios asociados para la tabla
dada
odbc_columns Lista los nombres de columnas de la tabla especificada
odbc_commit Enva una transaccin ODBC
odbc_connect Conectar a una fuente de datos
JDBC (Java Data Base Connectivity): se trata del estndar para la conectividad
entre el lenguaje Java y un amplio rango de sistemas gestores de bases de datos. Los
JDBC pueden desenvolverse tanto en un nivel cliente, esto es, trabajando del lado de
la aplicacin, o en el servidor directamente relacionado con la base de datos. Cuando
se encuentre a nivel cliente, trabajar con la tecnologa ODBC para acceso a los
datos. Hay diversos tipos de controladores JDBC:
DataAdapter: "Puente" utilizado para transferir data entre una fuente de datos y
un objeto DataSet (ver abajo).
DataReader: Es una clase usada para procesar eficientemente una lista grande
de resultados, un registro a la vez.
DataSets
Los objetos DataSets, es un grupo de clases que describen una simple base de
datos relacional en memoria, fueron la estrella del show en el lanzamiento
inicial (1.0) del Microsoft .NET Framework. Las clases forman una jerarqua de
contencin:
Un objeto DataSet representa un esquema (o una base de datos entera o un
subconjunto de una). Puede contener las tablas y las relaciones entre esas
tablas.
Un objeto DataTable representa una sola tabla en la base de datos. Tiene un
nombre, filas, y columnas.
Un objeto DataView "se sienta sobre" un DataTable y ordena los datos (como
una clusula "order by" de SQL) y, si se activa un filtro, filtra los registros (como
una clusula "where" del SQL). Para facilitar estas operaciones se usa un
ndice en memoria. Todas las DataTables tienen un filtro por defecto, mientras
que pueden ser definidos cualquier nmero de DataViews adicionales,
reduciendo la interaccin con la base de datos subyacente y mejorando as el
desempeo.
Un DataColumn representa una columna de la tabla, incluyendo su nombre y
tipo.
Un objeto DataRow representa una sola fila en la tabla, y permite leer y
actualizar los valores en esa fila, as como la recuperacin de cualquier fila que
est relacionada con ella a travs de una relacin de clave primaria - clave
extranjera.
Un DataRowView representa una sola fila de un DataView, la diferencia entre
un DataRow y el DataRowView es importante cuando se est interactuando
sobre un resultset.
Un DataRelation es una relacin entre las tablas, tales como una relacin de
clave primaria - clave ajena. Esto es til para permitir la funcionalidad del
DataRow de recuperar filas relacionadas.
Un Constraint describe una propiedad de la base de datos que se debe cumplir,
como que los valores en una columna de clave primaria deben ser nicos. A
medida que los datos son modificados cualquier violacin que se presente
causar excepciones.
Un DataSet es llenado desde una base de datos por un DataAdapter cuyas
propiedades Connection y Command que han sido iniciados. Sin embargo, un
DataSet puede guardar su contenido a XML (opcionalmente con un esquema
XSD), o llenarse a s mismo desde un XML, haciendo esto excepcionalmente
til para los servicios web, computacin distribuida, y aplicaciones
ocasionalmente conectadas desconectados.
ADO.NET y Visual Studio .NET
En el IDE Visual Studio .NET existe la funcionalidad para crear las subclases
especializadas de las clases del DataSet para un esquema particular de base
de datos, permitiendo el acceso conveniente a cada campo a travs de
propiedades fuertemente tipadas. Esto ayuda a capturar ms errores de
programacin en tiempo de compilacin y hace ms til la caracterstica
Intellisense del IDE.
ADO.NET Entity Framework
Artculo principal: ADO.NET Entity Framework.
El ADO.NET Entity Framework es un conjunto de APIs de acceso a datos para
el Microsoft .NET Framework, apuntando a la versin de ADO.NET que se
incluye con el .NET Framework 3.5. Fue lanzado como actualizacin separada
junto con el Service Pack 1 para el .NET Framework, despus del lanzamiento
de tanto el .NET Framework 3.5 y el Visual Studio 2008. Una nueva versin del
Entity Framework (v 4.0) ser liberada junto al Visual Studio 2010 y el .NET
Framework 4.0.
Una entidad del Entity Framework es un objeto que tiene una clave
representando la clave primaria de una entidad lgica de datastore. Un modelo
conceptual Entity Data Model (modelo Entidad-Relacin) es mapeado a un
modelo de esquema de datastore. Usando el Entity Data Model, el Framework
permite que los datos sean tratados como entidades independientemente de
sus representaciones del datastore subyacente.
El Entity SQL es un lenguaje similar al SQL para consultar el Entity Data Model
(en vez del datastore subyacente). Similarmente, las extensiones del Linq,
Linq-to-Entities, proporcionan consultas tipeadas en el Entity Data Model. Las
consultas Entity SQL y Linq-to-Entities son convertidas internamente en un
Canonical Query Tree que entonces es convertido en una consulta
comprensible al datastore subyacente (ej. en SQL en el caso de una base de
datos relacional). Las entidades pueden utilizar sus relaciones, y sus cambios
enviados de regreso al datastore.
Requisitos para desarrollar aplicacin con acceso a MySQL nativo usando
Visual C# .Net y driver Connector/Net ADO.NET
A continuacin indicamos los requisitos necesarios para desarrollar una
aplicacin, usando el IDE de desarrollo Microsoft Visual C# .Net, que acceda
de forma nativa (directa sin intermediarios) al motor de base de datos gratuito
MySQL Server:
Tras la instalacion de MySQL connector Net. 6.6.4, al asistente nos indicar que la instalacion
ha finalizado pulsaremos finish