unidad 4 taller de b.d

Upload: askeroide-gonzalez

Post on 07-Mar-2016

218 views

Category:

Documents


0 download

DESCRIPTION

ninguno

TRANSCRIPT

Carrera:Ingeniera en Tecnologas de la Informacin y la comunicacin

Asignatura:Taller de Base de Datos

Grupo:T 43

Unidad 4:Tecnologas de conectividad de bases de datos

Autor: Gonzalez Sanchez Erick Rene 13250788

Facilitadora:Eliezer Ros Caballero

Fecha de Entrega: 23 Noviembre 2015

INSTITUTO TECNOLGICO DETLALNEPANTLA

4.1 ODBCEs un estndar 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 aplicacin, sin importar qu sistema de gestin 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 aplicacin y el DBMS. El propsito de esta capa es traducir las consultas de datos de la aplicacin en comandos que el DBMS entienda. Para que esto funcione tanto la aplicacin como el DBMS deben ser compatibles con ODBC, esto es que la aplicacin debe ser capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la versin 2.0 el estndar soporta SAG y SQL.

El software funciona de dos modos, con un software manejador en el cliente, o una filosofa 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 parmetros, ruta y caractersticas de la conexin segn los datos que solicite el creador o fabricante.

SIGNIFICADOOpen 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 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 decontroladores ODBC contiene una lista extensa de los controladores ODBC.Por ejemplo,MicrosoftODBC Driver Pack es una coleccin de los siete controladores ODBC listo para su uso o se incluye con los clientes ODBC.Uncontrolador de ODBC de SQL Server se incluye con Access y Informix est trabajando en un controlador ODBC para Informix.

EJEMPLOS:

Front-end al tener acceso a datos de Access desde un fondo Oracle utilizando el controlador ODBC para Oracle, que se suministra con Access 1.1. Acceso de Visual Basic front-end a los datos de un back-end dBASE usando el controlador de ODBC, que forma parte del paquete de controladores de base de datos de MS ODBC dBASE. Escrito con C + ODBC SDK de SDK + ganar acceso a datos desde un sistema Autnomo de aplicacin de C / 400 mediante el AS / 400 de Rochester Software de controlador de ODBC

4.2 ADO.NETADO.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 creacin 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 creacin 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.ADO .NET es la nueva versin 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 ofreca, ADO .NET est diseado para trabajar con conjuntos de datos desconectados, lo que permite reducir el trfico de red. ADO .NET utiliza XML como formato universal de transmisin de los datos.ADO .NET posee una serie de objetos que son los mismos que aparecen en la versin 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 se puede definir como:Un conjunto de interfaces, clases, estructuras y enumeracionesQue permiten el acceso a los datos desde la plataforma .NET de MicrosoftQue permite un modo de acceso desconectado a los datos que pueden provenir de mltiples fuente de datos de diferente arquitectura de almacenamiento.

SIGNIFICADOADO.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.NETExisten dos componentes de ADO.NET que se pueden utilizar para obtener acceso a datos y manipularlos:

Proveedores de datos de .NET FrameworkEl DataSet

En el diagrama siguiente se ilustra la relacin entre un proveedor de datos de .NET Framework y un DataSetProveedores de datos de .NET FrameworkLos 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.DataSetEl 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.

REQUERIMIENTOSAl 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 ServerOracleDB2 Universal DatabaseDB2 UDB for iSeriesLos requerimientos necesarios en cada caso son:SQL ServerADO.NET utiliza el Data Provider de Microsoft para SQL Server (el cual se instala con el framework).

OracleSe debe tener el Cliente de Oracle versin 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 implementacin utiliza el Data provider de Microsoft para Oracle (System.Data.OracleClient)

DB2 UDB for iSeriesSe necesita la V5R3 del iSeries Access, que es una versin beta y est solo en ingls.

4.3 JDBCJava 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.

qu necesitamos?- El API JDBC con dos paquetes principale, java.sql y javax.sql- Un controlador de acceso a una base de datosEl 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:

Establecer una conexin.Lanzar sentencias SQL.Capturar conjuntos resultado (resulset) de las consultas.Capturar informacin de la base de datos.Manipular los datos.SIGNIFICADOJDBC 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.

Filosofa y Objetivos de JDBCCuando 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.COMPATIBLE CON SQL. Cada motor de Base de Datos implementa una amplia variedad de comandos SQL, y muchos de ellos no tienen porque ser compatibles con el resto de motores de Base de Datos. JDBC, para solventar este problema de incompatibilidad, ha tomado la siguiente posicinJDBC 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)JDBC debe proveer un interfaz homogneo 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 esttica, es decir, en tiempo de compilacin, para evitar errores en tiempo de ejecucin.JDBC debe mantener los casos comunes de acceso a Base de Datos lo ms sencillo posible:Mantener la sencillez en los casos ms comunes (SELECT, INSERT, DELETE y UPDATE)Hacer realizables los casos menos comunes: Invocacin de procedimientos almacenados...Crear mltiples mtodos para mltiple funcionalidad. JDBC ha preferido incluir gran cantidad de mtodos, en lugar de hacer mtodos complejos con gran cantidad de parmetros.

REQUERIMIENTOSPara 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 ServerJava Runtime EnvironmentProcedimiento de Conexin y acceso a datos con JDBC.

Consideraciones previas.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.Procedimiento de conexin.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).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.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)Tipos de conectores (drivers) JDBCTipo 1. JDBC-ODBC bridge ms driver ODBC: BRIDGE Ventajas: Buena forma de aprender JDBC. Tambin 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 JDBC-ODBC es costosa. Tampoco es buena solucin para aplicaciones con alto nivel de escalabilidad.Tipo 2. Driver Java parciales: NATIVE 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. Driver JDBC a travs de Middleware: NETWORK Ventajas: Buena solucin cuando necesitamos acceder a Bases de Datos distintas y se quiere usar un nico driver JDBC para acceder a las mismas. Al residir la traduccin en el servidor del middleware, los clientes no necesitan libreras especficas, tan solo el driver. Inconvenientes: La desventaja principal reside en la configuracin del servidor donde se encuentra el middleware. Necesitar libreras especficas para cada motor de base de datos distinto, etc.Tipo 4: Driver java puro (acceso directo a Base de Datos): THIN. Ventajas: 100 % portable. Buen rendimiento. El cliente slo necesita el driver. Inconvenientes: Al ser independiente de la plataforma, no aprovecha las caractersticas especficas del S.OEl procedimiento de conexin con el controlador de la base de datos, independientemente de la arquitectura es siempre muy similar.En el primero de los casos (a travs 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 mquina cliente que use el puente, debe tener libreras 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 mquinas clientes cdigo binario propio del cliente de la Base de datos especfica y del sistema operativoTraduce 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.

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