tag:blogger.com,1999:blog-3025942252053137732024-02-08T09:32:17.567-08:00UNIDAD 4. TECNOLOGIAS DE CONECTIVIDAD DE BASES DE DATOSAnonymoushttp://www.blogger.com/profile/17015739478348268771noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-302594225205313773.post-21342179713081694382013-06-09T16:28:00.000-07:002013-06-09T16:28:01.766-07:00TALLER DE BASES DE DATOS<div style="text-align: center;">
<div style="text-align: center;">
<strong><span style="background-color: lime; color: blue; font-family: Arial, Helvetica, sans-serif; font-size: large;">UNIDAD IV: TECNOLOGIAS DE CONECTIVIDAD DE BASE DE DATOS</span></strong><br />
<strong><span style="color: red; font-family: Arial, Helvetica, sans-serif; font-size: large;"><br /></span></strong>
<strong><span style="color: red; font-family: Arial, Helvetica, sans-serif; font-size: large;">4.1 ODBC</span></strong></div>
<div style="text-align: center;">
<strong><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></strong></div>
<div style="text-align: center;">
<div style="text-align: left;">
<strong><span style="font-family: Arial, Helvetica, sans-serif; font-size: large;"><br /></span></strong></div>
</div>
</div>
<div style="text-align: center;">
</div>
<div style="text-align: left;">
<div style="text-align: center;">
<div style="text-align: left;">
<strong><u><span style="font-family: Arial, Helvetica, sans-serif; font-size: large;">INTRODUCCION</span></u></strong></div>
</div>
</div>
<div style="text-align: left;">
</div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">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.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">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.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif; margin-left: 1em; margin-right: 1em;"><img border="0" height="262" src="http://www.uv.es/jac/guia/gestion/figura3.gif" width="357" /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span><br />
<div style="text-align: justify;">
<strong><u><span style="font-family: Arial, Helvetica, sans-serif; font-size: large;">SIGNIFICADO</span></u></strong><br />
<strong><u><br /><span style="font-family: Arial, Helvetica, sans-serif;"></span></u></strong></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">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. <span lang="es">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. </span></span><br />
<br /><span style="font-family: Arial, Helvetica, sans-serif;">
<span lang="es">ODBC alivia la necesidad de aprender múltiples interfaces de programación de aplicaciones para los programadores corporativos y fabricantes independientes de software. </span><span lang="es">ODBC proporciona ahora una interfaz de acceso de datos universal. </span><span lang="es">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. </span></span><br />
<br /><span style="font-family: Arial, Helvetica, sans-serif;">
<span lang="es">ODBC es un componente básico de la arquitectura de servicios abiertos de Microsoft Windows. </span><span lang="es">Apple ha respaldado ODBC como una clave de habilitación de la tecnología de anuncio de soporte en System 7 en el futuro. <span style="background-color: white; color: #0f0f5f;"><span style="color: black;">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.</span> </span></span></span><br />
<span lang="es"><span style="background-color: white; color: #0f0f5f;"><span style="color: black;"><br /></span></span></span><span style="font-family: Arial, Helvetica, sans-serif;">
</span><span lang="es"><span style="background-color: white; color: #0f0f5f;"><span style="color: black;"><br /></span></span></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: large;"><strong><u>REQUERIMIENTOS</u></strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><strong><u></u></strong><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Para utilizar ODBC, se requieren los tres componentes siguientes: <br /><br /><span lang="es">Ejemplos de cliente - un ODBC front-end (también llamado ODBC cliente habilitado) - ODBC: Microsoft Access, una aplicación creada con Access, una aplicación creada con Microsoft Visual Basic, una aplicación creada con C + Win SDK + ODBC SDK o las aplicaciones basadas en ODBC de otros proveedores (como Lotus). </span><br /><br /><span lang="es">CONTROLADOR ODBC - un controlador ODBC para el servidor ODBC. </span><span lang="es">El catálogo de <span style="background-color: white; color: black;">controladores ODBC contiene una lista extensa de los controladores ODBC. </span></span><span lang="es" style="background-color: white; color: black;"><span style="color: black;">Por ejemplo,</span> Microsoft <span style="color: black;">ODBC Driver Pack es una colección de los siete controladores ODBC listo para su uso o se incluye con los clientes ODBC.</span> </span><span lang="es"><span style="background-color: white; color: black;">Un</span> controlador de ODBC de SQL Server se incluye con Access y Informix está trabajando en un controlador ODBC para Informix. </span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div style="text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div style="text-align: center;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"> </span><a data-ved="0CAUQjRw" href="http://www.google.com.mx/url?sa=i&rct=j&q=&esrc=s&frm=1&source=images&cd=&cad=rja&docid=gKtt0hVn0kkrVM&tbnid=SSH3LdyBAt1hUM:&ved=0CAUQjRw&url=http%3A%2F%2Fwww.tigerlogic.com%2Ftigerlogic%2Fpick%2Fconnectivity%2Fodbc%2F&ei=pIKuUc2-NoPO9QTYjoCoAg&bvm=bv.47244034,d.dmQ&psig=AFQjCNGaWTI7s2e60r8hMeMSuTqoAUNMtA&ust=1370477409590527" id="irc_mil" style="border: 0px currentColor;"><span style="font-family: Arial, Helvetica, sans-serif;"><img height="393" id="irc_mi" src="http://www.tigerlogic.com/tigerlogic/pick/images/odbc.png" style="margin-top: 0px;" width="580" /></span></a></div>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div style="text-align: justify;">
<strong><u><br /></u></strong><span style="font-family: Arial, Helvetica, sans-serif;">
<strong><u>EJEMPLOS:</u></strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span>
<li lang="es" style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">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. </span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li lang="es" style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">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. </span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li lang="es" style="text-align: justify;"><span style="background-color: white; font-family: Arial, Helvetica, sans-serif;">Escrito con C + ODBC SDK de SDK + ganar acceso a datos desde un sistema Autónomo de aplicación de C / 400 mediante el AS / 400 de Rochester Software de controlador de ODBC</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<div lang="es" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div lang="es" style="text-align: justify;">
<h2 style="text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="background-color: white; line-height: 115%;"><span style="color: red; font-size: large;">4.2 ADO.NET </span></span></span></h2>
<div>
<span style="color: #2a2a2a; line-height: 115%;"><span style="font-size: large;"><br /><span style="font-family: Arial, Helvetica, sans-serif;"></span></span></span></div>
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="color: #2a2a2a; line-height: 115%;"><span style="font-size: large;"><u>INTRODUCCION</u></span></span></span></h3>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="background-color: white; background-position: initial initial; background-repeat: initial initial; line-height: 15.05pt; margin-left: 1em; margin-right: 1em; margin-top: 7.55pt;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<div>
<div class="MsoNormal">
<a href="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTYZSwgfHaIoo00jiez4ajrcBh2gT1zGlPnjSRxLjQp2Q90gi_C" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTYZSwgfHaIoo00jiez4ajrcBh2gT1zGlPnjSRxLjQp2Q90gi_C" /></span></a><span style="font-family: Arial, Helvetica, sans-serif;">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.<o:p></o:p></span></div>
<div style="background: white; line-height: 15.05pt; margin: 7.55pt 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">ADO .NET es la nueva versión del<span class="apple-converted-space"> </span>modelo<span class="apple-converted-space"> </span>de objetos
ADO (ActiveX Data Objects), es decir, la<span class="apple-converted-space"> </span>estrategia<span class="apple-converted-space"> </span>que ofrece<span class="apple-converted-space"> </span>Microsoft<span class="apple-converted-space"> </span>para el acceso a<span class="apple-converted-space"> </span>datos. ADO .NET ha sido ampliado para
cubrir todas las necesidades que ADO no ofrecía, ADO .NET está diseñado para
trabajar con<span class="apple-converted-space"> </span>conjuntos<span class="apple-converted-space"> </span>de datos desconectados, lo que permite reducir
el tráfico de<span class="apple-converted-space"> </span>red. ADO .NET utiliza<span class="apple-converted-space"> </span>XML<span class="apple-converted-space"> </span>como
formato universal de transmisión de los datos.<o:p></o:p></span></div>
<div style="background: white; line-height: 15.05pt; margin: 7.55pt 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">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.<o:p></o:p></span></div>
<div style="background: white; line-height: 15.05pt; margin: 7.55pt 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">ADO .NET se puede definir como:<o:p></o:p></span></div>
<div style="background: white; line-height: 15.05pt; margin: 7.55pt 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">Un conjunto de interfaces, clases,<span class="apple-converted-space"> </span>estructuras y enumeraciones<o:p></o:p></span></div>
<div style="background: white; line-height: 15.05pt; margin: 7.55pt 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">Que permiten el acceso a los datos
desde la plataforma .NET de Microsoft<o:p></o:p></span></div>
<div style="background: white; line-height: 15.05pt; margin: 7.55pt 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">Que permite un modo de acceso
desconectado a los datos que pueden provenir de múltiples<span class="apple-converted-space"> </span>fuente<span class="apple-converted-space"> </span>de datos
de diferente<span class="apple-converted-space"> </span>arquitectura<span class="apple-converted-space"> </span>de almacenamiento.<span style="color: #445555; font-size: 11.5pt;"><o:p></o:p></span></span></div>
<div style="background: white; line-height: 15.05pt; margin: 7.55pt 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://visualbasic.about.com/library/graphics/aa041203-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="320" src="http://visualbasic.about.com/library/graphics/aa041203-1.jpg" width="289" /></span></a></div>
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-size: large;"><u>SIGNIFICADO</u></span></span></h3>
<div>
<div class="MsoNormal" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">ADO.NET</span></b><span class="apple-converted-space"><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">es un
conjunto de<span class="apple-converted-space"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">componentes del software</span><span class="apple-converted-space"><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">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<span class="apple-converted-space"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">.NET</span><span class="apple-converted-space"><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">Framework. Es comúnmente
usado por los programadores para acceder y para modificar los datos almacenados
en un<span class="apple-converted-space"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">Sistema Gestor de Bases de Datos</span><span class="apple-converted-space"><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">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<span class="apple-converted-space"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">ActiveX Data Objects</span><span class="apple-converted-space"><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;"> </span></span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif;">(ADO), pero fue cambiado tan
extensivamente que puede ser concebido como un producto enteramente nuevo.<o:p></o:p></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div class="MsoNormal" style="margin-bottom: 0pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Componentes de
ADO.NET<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">Existen dos
componentes de ADO.NET que se pueden utilizar para obtener acceso a datos y
manipularlos:<o:p></o:p></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<ul style="margin-top: 0cm;" type="disc"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="line-height: 15.05pt; margin-bottom: 0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES-MX;">Proveedores de datos de .NET Framework</span></div>
</li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<ul style="margin-top: 0cm;" type="disc"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li class="MsoNormal" style="line-height: 15.05pt; margin-bottom: 0pt;"><span style="font-family: Arial, Helvetica, sans-serif; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES-MX;">El DataSet</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<v:shape alt="Gráfico de proveedor de datos" id="Imagen_x0020_1" o:spid="_x0000_s1026" style="height: 238.6pt; margin-left: 6pt; margin-top: 84.8pt; mso-position-horizontal-relative: text; mso-position-horizontal: absolute; mso-position-vertical-relative: text; mso-position-vertical: absolute; mso-wrap-distance-bottom: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-right: 9pt; mso-wrap-distance-top: 0; mso-wrap-style: square; position: absolute; visibility: visible; width: 433.8pt; z-index: 1;" type="#_x0000_t75"><v:imagedata o:title="Gráfico de proveedor de datos" src="file:///C:\Users\angy\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif"><w:wrap type="square"><span style="font-family: Arial, Helvetica, sans-serif;">
</span></w:wrap></v:imagedata></v:shape><v:shape alt="Gráfico de proveedor de datos" id="Imagen_x0020_1" o:spid="_x0000_s1026" style="height: 238.6pt; margin-left: 6pt; margin-top: 84.8pt; mso-position-horizontal-relative: text; mso-position-horizontal: absolute; mso-position-vertical-relative: text; mso-position-vertical: absolute; mso-wrap-distance-bottom: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-right: 9pt; mso-wrap-distance-top: 0; mso-wrap-style: square; position: absolute; visibility: visible; width: 433.8pt; z-index: 1;" type="#_x0000_t75"><br /></v:shape><span style="font-family: Arial, Helvetica, sans-serif;">En el diagrama
siguiente se ilustra la relación entre un proveedor de datos de .NET Framework
y un <b>DataSet<o:p></o:p></b></span><br />
<div class="MsoNormal" style="line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-outline-level: 3;">
<span style="font-family: Arial, Helvetica, sans-serif;">Proveedores de datos de .NET Framework<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">Los proveedores de datos de .NET
Framework son componentes diseñados explícitamente para la manipulación de
datos y el acceso rápido a datos de sólo lectura y sólo avance. El objeto <b>Connection</b> proporciona
conectividad a un origen de datos. El objeto <b>Command</b> permite
tener acceso a comandos de base de datos para devolver datos, modificar datos,
ejecutar procedimientos almacenados y enviar o recuperar información sobre
parámetros. El objeto<b>DataReader</b> proporciona una secuencia de datos
de alto rendimiento desde el origen de datos. Por último, el objeto DataAdapter proporciona el puente entre
el objeto <b>DataSet</b> y el origen de datos. El <b>DataAdapter</b> utiliza
objetos <b>Command</b> para ejecutar comandos SQL en el origen de
datos tanto para cargar el <b>DataSet</b> con datos como para
reconciliar en el origen de datos los cambios aplicados a los datos incluidos
en el <b>DataSet</b>.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 14.25pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-outline-level: 3;">
<span style="font-family: Arial, Helvetica, sans-serif;">DataSet<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;">El DataSet de ADO.NET está expresamente
diseñado para el acceso a datos independientemente del origen de datos. Como
resultado, se puede utilizar con múltiples y distintos orígenes de datos, con
datos XML o para administrar datos locales de la aplicación. El <b>DataSet</b> contiene
una colección de uno o más objetos DataTable formados por filas y columnas
de datos, así como información sobre claves principales, claves externas,
restricciones y relaciones relativa a los datos incluidos en los objetos <b>DataTable</b>.</span></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<b><span style="font-family: Arial, Helvetica, sans-serif;">ARQUITECTURA ADO.NET</span></b></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div class="MsoNormal">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, Helvetica, sans-serif;"> </span></div>
<div class="MsoNormal" style="line-height: 15.05pt; margin-bottom: .0001pt; margin-bottom: 0cm;">
<v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f"><span style="font-family: Arial, Helvetica, sans-serif;">
<v:stroke joinstyle="miter">
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0">
<v:f eqn="sum @0 1 0">
<v:f eqn="sum 0 0 @1">
<v:f eqn="prod @2 1 2">
<v:f eqn="prod @3 21600 pixelWidth">
<v:f eqn="prod @3 21600 pixelHeight">
<v:f eqn="sum @0 0 1">
<v:f eqn="prod @6 1 2">
<v:f eqn="prod @7 21600 pixelWidth">
<v:f eqn="sum @8 21600 0">
<v:f eqn="prod @7 21600 pixelHeight">
<v:f eqn="sum @10 21600 0">
</v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:formulas>
<v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f">
<o:lock aspectratio="t" v:ext="edit">
</o:lock></v:path></v:stroke></span></v:shapetype></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.msdn.microsoft.com/dynimg/IC130621.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="176" src="http://i.msdn.microsoft.com/dynimg/IC130621.gif" width="320" /></span></a></div>
<v:shape alt="Gráfico de proveedor de datos" id="Imagen_x0020_1" o:spid="_x0000_s1026" style="height: 238.6pt; margin-left: 6pt; margin-top: 84.8pt; mso-position-horizontal-relative: text; mso-position-horizontal: absolute; mso-position-vertical-relative: text; mso-position-vertical: absolute; mso-wrap-distance-bottom: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-right: 9pt; mso-wrap-distance-top: 0; mso-wrap-style: square; position: absolute; visibility: visible; width: 433.8pt; z-index: 1;" type="#_x0000_t75"><span style="font-family: Arial, Helvetica, sans-serif;">
<v:imagedata o:title="Gráfico de proveedor de datos" src="file:///C:\Users\angy\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif">
<w:wrap type="square">
</w:wrap></v:imagedata></span></v:shape><v:shape alt="Gráfico de proveedor de datos" id="Imagen_x0020_1" o:spid="_x0000_s1026" style="height: 238.6pt; margin-left: 6pt; margin-top: 84.8pt; mso-position-horizontal-relative: text; mso-position-horizontal: absolute; mso-position-vertical-relative: text; mso-position-vertical: absolute; mso-wrap-distance-bottom: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-right: 9pt; mso-wrap-distance-top: 0; mso-wrap-style: square; position: absolute; visibility: visible; width: 433.8pt; z-index: 1;" type="#_x0000_t75"><br /></v:shape><v:shape alt="Gráfico de proveedor de datos" id="Imagen_x0020_1" o:spid="_x0000_s1026" style="height: 238.6pt; margin-left: 6pt; margin-top: 84.8pt; mso-position-horizontal-relative: text; mso-position-horizontal: absolute; mso-position-vertical-relative: text; mso-position-vertical: absolute; mso-wrap-distance-bottom: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-right: 9pt; mso-wrap-distance-top: 0; mso-wrap-style: square; position: absolute; visibility: visible; width: 433.8pt; z-index: 1;" type="#_x0000_t75"><br /></v:shape><v:shape alt="Gráfico de proveedor de datos" id="Imagen_x0020_1" o:spid="_x0000_s1026" style="height: 238.6pt; margin-left: 6pt; margin-top: 84.8pt; mso-position-horizontal-relative: text; mso-position-horizontal: absolute; mso-position-vertical-relative: text; mso-position-vertical: absolute; mso-wrap-distance-bottom: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-right: 9pt; mso-wrap-distance-top: 0; mso-wrap-style: square; position: absolute; visibility: visible; width: 433.8pt; z-index: 1;" type="#_x0000_t75"><br /></v:shape><v:shape alt="Gráfico de proveedor de datos" id="Imagen_x0020_1" o:spid="_x0000_s1026" style="height: 238.6pt; margin-left: 6pt; margin-top: 84.8pt; mso-position-horizontal-relative: text; mso-position-horizontal: absolute; mso-position-vertical-relative: text; mso-position-vertical: absolute; mso-wrap-distance-bottom: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-right: 9pt; mso-wrap-distance-top: 0; mso-wrap-style: square; position: absolute; visibility: visible; width: 433.8pt; z-index: 1;" type="#_x0000_t75"><br /></v:shape><v:shape alt="Gráfico de proveedor de datos" id="Imagen_x0020_1" o:spid="_x0000_s1026" style="height: 238.6pt; margin-left: 6pt; margin-top: 84.8pt; mso-position-horizontal-relative: text; mso-position-horizontal: absolute; mso-position-vertical-relative: text; mso-position-vertical: absolute; mso-wrap-distance-bottom: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-right: 9pt; mso-wrap-distance-top: 0; mso-wrap-style: square; position: absolute; visibility: visible; width: 433.8pt; z-index: 1;" type="#_x0000_t75"><br /></v:shape></div>
</div>
</div>
<h3 lang="es">
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-size: large;"><span style="line-height: 17.77px;"><u>REQUERIMIENTOS</u></span></span></span></h3>
<div lang="es">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<h3 lang="es" style="text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></h3>
<h3 class="MsoNormal" lang="es" style="margin-right: 7.2pt; text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">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.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></h3>
<h3 lang="es" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">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.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></h3>
<h3 lang="es" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="line-height: 115%;">Por el momento los DBMSs que soportan el
acceso ADO.NET son:</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></span></h3>
<ul>
<li><h3 lang="es" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-weight: normal;"><span style="font-size: small;">SQL Server</span></span></span></h3>
</li>
<li><h3 lang="es" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-weight: normal;"><span style="font-size: small;">Oracle</span></span>
</span></h3>
</li>
<li><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-weight: normal;"><span style="font-size: small;">DB2 Universal
Database</span></span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li><div style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: small;">DB2 UDB for
iSeries</span></span></div>
</li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<br />
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="line-height: 115%;">Los requerimientos necesarios en cada caso
son:</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;"><strong>SQL Server</strong></span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">ADO.NET utiliza el Data Provider de
Microsoft para SQL Server (el cual se instala con el framework).</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="line-height: 115%;"><strong>Oracle</strong></span><span style="line-height: 115%;"><o:p></o:p></span></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">Se debe
tener el Cliente de Oracle versión 8.1.7 o superior, de esta forma se instala
el Data Provider correspondiente.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">El
valor “Server Name” de las Dbms option hace referencia al Service Name definido
en la instancia del Oracle.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">La
implementación utiliza el Data provider de Microsoft para Oracle
(System.Data.OracleClient)</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;"><strong>DB2 UDB for iSeries</strong></span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">Se necesita la V5R3 del iSeries Access,
que es una versión beta y está solo en inglés.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">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.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="line-height: 115%;"><span style="font-family: Arial, Helvetica, sans-serif;">La versión V5R3 del iSeries Access se
puede obtener de la URL:<span class="apple-converted-space"> </span></span></span><a href="http://www-1.ibm.com/servers/eserver/iseries/access/windows/beta.html"><span lang="ES-UY" style="color: purple; font-family: Arial, Helvetica, sans-serif; line-height: 115%;">http://www-1.ibm.com/servers/eserver/iseries/access/windows/beta.html</span></a><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">Nota:</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="margin-left: 54pt; text-align: justify; text-indent: -18pt;">
<span style="font-weight: normal;"><span style="font-size: small;"><span style="font-family: Arial, Helvetica, sans-serif;"><span lang="ES-UY" style="line-height: 115%;">-</span><span lang="ES-UY" style="line-height: 115%;"> <span class="apple-converted-space"> </span></span><span lang="ES-UY" style="line-height: 115%;">El Data provider para DB2 UDB for iSeries
no soporta BLOBs por ahora.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="margin-left: 54pt; text-align: justify; text-indent: -18pt;">
<span style="font-weight: normal;"><span style="font-size: small;"><span style="font-family: Arial, Helvetica, sans-serif;"><span lang="ES-UY" style="line-height: 115%;">-</span><span lang="ES-UY" style="line-height: 115%;"> <span class="apple-converted-space"> </span></span><span lang="ES-UY" style="line-height: 115%;">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)</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;"><strong>DB2 Universal Database</strong></span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span style="font-size: small;"><span lang="ES-UY" style="font-family: Arial, Helvetica, sans-serif; line-height: 115%;">Se necesita tener instalada la versión
8.1.3 o superior.</span><span style="line-height: 115%;"><o:p></o:p></span></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-weight: normal;"><span lang="ES-UY" style="line-height: 115%;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: small;">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.</span></span><span style="font-size: 10pt; line-height: 115%;"><o:p></o:p></span></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span><h3 style="text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="color: red; font-size: large;">4.3 JDBC</span></span></h3>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div lang="es">
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-size: large;"><b><u>INTRODUCCIÓN</u></b></span></span></h3>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: black;">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</span><span style="color: black;"> </span><span style="color: black;">API JDBC (</span><em><span style="color: black;">Java DataBase Connectivity</span></em><span style="color: black;">)</span><span style="color: black;">.</span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: black;">Este API es parte de la plataforma Java desde la versión 1.0 de JDK. </span><span style="color: black;">Con el paso del tiempo se ha ido mejorando y aumentando su funcionalidad.</span></span></div>
<div style="text-align: justify;">
<span style="color: black; font-family: Arial, Helvetica, sans-serif;">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. </span></div>
<div style="text-align: justify;">
<span style="color: black; font-family: Arial, Helvetica, sans-serif;">ODBC es un estandar para las plataformas MS Windows. JDBC es capaz de trabajar con MS Windows y otras plataformas.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: black;">El</span><span style="color: black;"> </span><span style="color: black;">API JDBC</span><span style="color: black;"> </span><span style="color: black;">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.</span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">¿ que necesitamos ?</span></div>
<div style="text-align: justify;">
<span style="color: black; font-family: Arial, Helvetica, sans-serif;">- El API JDBC con dos paquetes principale, java.sql y javax.sql</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: black;">- Un</span><span style="color: black;"> </span><em><span style="color: black;"><span style="font-style: normal;">controlador </span><span style="font-style: normal;">de acceso a una base de datos</span></span></em></span></div>
<div style="text-align: justify;">
<em><span style="color: black; font-family: Arial, Helvetica, sans-serif; font-style: normal;">El controlador servirá para conectar la aplicación con la API JDBC, proporcionando comunicación con la base de datos.</span></em></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: black;">En definitiva, lo que el </span><em>estándar JDBC</em><i> </i><span style="color: black;">hace posible es:</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<ul><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif; text-align: left;">Establecer una conexión.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="color: black; font-family: Arial, Helvetica, sans-serif; text-align: left;">Lanzar sentencias SQL.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="color: black; font-family: Arial, Helvetica, sans-serif; text-align: left;">Capturar conjuntos resultado (<em>resulset</em>) de las consultas.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="color: black; font-family: Arial, Helvetica, sans-serif; text-align: left;">Capturar información de la base de datos.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="color: black; font-family: Arial, Helvetica, sans-serif; text-align: left;">Manipular los datos.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
</div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: black;">Puesto que JDBC está implementado en Java, posee la ventaja de ser</span><em><span style="color: black;">independiente de la plataforma</span></em><span style="color: black;"> </span><span style="color: black;">e</span><span style="color: black;"> </span><em><span style="color: black;">independiente de la base de datos</span></em><span style="color: black;">. En esencia, </span><span style="color: black;">podrá ejecutarse en <i>cualquier sistema</i> que posea una <i>Máquina Virtual de Java</i>.</span></span></div>
<div style="text-align: justify;">
<span style="color: black;"><br /><span style="font-family: Arial, Helvetica, sans-serif;"></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<a href="http://users.dcc.uchile.cl/~lmateu/CC60H/Trabajos/jfernand/cuatro.gif" imageanchor="1"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="178" src="http://users.dcc.uchile.cl/~lmateu/CC60H/Trabajos/jfernand/cuatro.gif" width="320" /></span></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">
<b><u>SIGNIFICADO</u></b></span></h3>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #052940; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">JDBC</span><span style="color: #052940; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"> 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.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
<a href="http://www.blogger.com/"><span style="font-family: Arial, Helvetica, sans-serif;"></span></a><br /></div>
<div lang="es">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
</div>
<div class="MsoNormal" lang="es" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt;">
<div style="text-align: justify;">
<b><u><span style="font-family: Arial, Helvetica, sans-serif; font-size: 13.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Filosofía y Objetivos de JDBC</span></u></b><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div style="text-align: justify;">
<b><u><span style="font-family: 'Verdana','sans-serif'; font-size: 13.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><br /><span style="font-family: Arial, Helvetica, sans-serif;"></span></span></u></b></div>
</div>
<div class="MsoNormal" lang="es" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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:</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<ul type="disc"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">API A NIVEL SQL</span></b><u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">.</span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"> 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.</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">COMPATIBLE CON SQL<u>.</u></span></b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"> 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 posición</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<ul type="circle"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">JDBC permite que cualquier comando SQL pueda ser pasado al driver 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.</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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.</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
</ul>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">JDBC debe ser utilizable sobre cualquier otro API de acceso a Bases de Datos</span></b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">, o más en particular ODBC (Open Database Connectivity)</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">JDBC debe proveer un interfaz homogéneo</span></b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"> al resto de APIs de Java.</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">JDBC debe ser un API simple</span></b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">, y desde ahí, ir creciendo.</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">JDBC debe ser fuertemente tipado, y siempre que sea posible de manera estática</span></b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">, es decir, en tiempo de compilación, para evitar errores en tiempo de ejecución.</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">JDBC debe mantener los casos comunes de acceso a Base de Datos lo más sencillo posible</span></b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">:</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<ul type="circle"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Mantener la sencillez en los casos más comunes (SELECT, INSERT, DELETE y UPDATE)</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 72.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Hacer realizables los casos menos comunes: Invocación de procedimientos almacenados...</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
</ul>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Crear múltiples métodos para múltiple funcionalidad</span></b><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">. JDBC ha preferido incluir gran cantidad de métodos, en lugar de hacer métodos complejos con gran cantidad de parámetros.</span></span></div>
</li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.ewebprogrammer.com/java-database-connectivity/module3/images/jdbcArchitecture10.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="320" src="http://www.ewebprogrammer.com/java-database-connectivity/module3/images/jdbcArchitecture10.gif" width="312" /></span></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div class="MsoNormal" lang="es" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div style="text-align: justify;">
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">
<b><u>REQUERIMIENTOS</u></b></span></h3>
</div>
<div style="text-align: justify;">
<br /><span style="font-family: Arial, Helvetica, sans-serif;">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: </span></div>
<ul><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Controlador de JDBC de Microsoft SQL Server<br />
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li style="text-align: justify;"><span style="font-family: Arial, Helvetica, sans-serif;">Java Runtime Environment</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<ol start="3" type="1"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 0pt; mso-list: l7 level1 lfo1; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><b><u><span style="font-family: Arial, Helvetica, sans-serif; font-size: 13.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Procedimiento de Conexión y acceso a datos con JDBC.</span></u></b><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ol>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<ul type="disc"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l18 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><b><span style="font-family: Arial, Helvetica, sans-serif; font-size: 13pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Consideraciones previas.</span></b><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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:</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Debemos considerar las características específicas de una base de datos, como por ejemplo, como mapear los tipos de datos SQL a Java.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">En función de donde se encuentre el driver físicamente, 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.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 12pt 2cm; mso-margin-top-alt: auto;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<ul type="disc"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l5 level1 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><b><span style="font-family: Arial, Helvetica, sans-serif; font-size: 13pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Procedimiento de conexión.</span></b></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<ol type="1"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l8 level1 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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:</span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Definiendo los drivers en la variable <b><i>sql.driver </i></b>(variable que mantiene todos las clases de los drivers separados por comas) Cuando la clase DriverManager se inicializa, busca esta propiedad en el sistema.</span></div>
</ol>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<ul type="disc"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l10 level1 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">El programador puede forzar la carga de un driver específico, usando el método Class.forName(driver).</span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
</ul>
<ol start="2" type="1"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l6 level1 lfo6; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 12pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Registro del driver.</span><span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"> </span><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Independientemente de la forma de carga del driver que llevemos a cabo, será responsabilidad de cada driver registrarse a sí mismo, usando el método 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, sólo se podrán usar drivers que estén en el sistema local de ficheros o que usen el mismo ClassLoader que el código que está intentando crear la conexión.</span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
</ol>
<ol start="3" type="1"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l13 level1 lfo7; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Crear una conexión. El objetivo es conseguir un objeto del tipo java.sql.Connection a través del método DriverManager.getConnection(String url). La capa de gestión, cuando este método es invocado, tratará de encontrar un driver adecuado para conectar a la base de datos especificada en la URL, intentándolo por el orden especificado en la variable sql.driver. Cada driver debería examinar si ellos proveen el “subprotocolo” que especifica la URL. (Ver anexo)</span></div>
</li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ol>
<ol start="3" type="1"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 0pt; mso-list: l17 level1 lfo8; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<b><u><span style="font-family: Arial, Helvetica, sans-serif; font-size: 13.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Tipos de conectores (drivers) JDBC</span></u></b></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
</ol>
<ul><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l15 level1 lfo9; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span lang="EN-US" style="font-family: 'Verdana','sans-serif'; font-size: 13pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Tipo 1. JDBC-ODBC bridge más driver ODBC: “BRIDGE” </span></b><u style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Ventajas</span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">: 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. </span><u style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Inconvenientes</span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">: 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.</span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 13pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Tipo 2. Driver Java parciales: “NATIVE” </span></b><u style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Ventajas: </span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Mejor rendimiento que el anterior. Quizá puede ser buena solución para entornos controlados como intranets. Ejemplo OCI oracle. </span><u style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Inconvenientes: </span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Principalmente la escalabilidad, ya que estos drivers exigen que en la máquina cliente librerías del cliente de la Base de Datos.</span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 10pt; mso-list: l3 level1 lfo13; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><span style="font-family: 'Verdana','sans-serif'; font-size: 13pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Tipo 3. Driver JDBC a través de Middleware: “NETWORK” </span></b><u style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Ventajas</span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">: 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. </span><u style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Inconvenientes</span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">: 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.</span></span></div>
</li>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></div>
<li><div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
<b><span style="font-family: 'Verdana','sans-serif'; font-size: 13pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Tipo 4: Driver java puro (acceso directo a Base de Datos): “THIN”. </span></b><u style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Ventajas</span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">: 100 % portable. Buen rendimiento. El cliente sólo necesita el driver. </span><u style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Inconvenientes</span></u><span style="font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">: Al ser independiente de la plataforma, no aprovecha las características específicas del S.O</span></span></div>
</li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<ol start="5" type="1"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li class="MsoNormal" style="background: white; color: #052940; line-height: normal; margin: 0cm 0cm 0pt; mso-list: l14 level1 lfo17; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><b><u><span style="font-family: Arial, Helvetica, sans-serif; font-size: 13.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Arquitecturas JDBC</span></u></b></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ol>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><ul><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Aplicaciones standalone</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Applets comunicando con un servidor Web</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Aplicaciones y applets comunicando con una base de datos a través de un puente JDBC/ODBC.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Aplicaciones accediendo a recursos remotos usando mecanismos como Java RMI</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span><br />
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">El procedimiento de conexión con el controlador de la base de datos, independientemente de la arquitectura es siempre muy similar.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 1cm;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Los conectores o drivers JDBC, se pueden dividir en cuatro tipos principalmente:</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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)</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 12pt; mso-margin-top-alt: auto;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><b><u><span style="color: #052940; font-family: 'Verdana','sans-serif'; font-size: 13.5pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><span style="mso-spacerun: yes;"> </span></span></u></b><span style="color: #052940; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">S.O donde vaya a correr.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">La arquitectura básica 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. También podemos cargar un driver explicitamente usando Class.forName(). Durante la carga, el driver intentará registrarse a si mismo usando el método clase DriverManager.registerDriver(). Cuando se invoque al método DriverManager.getConnection(), ésta buscará el primer driver de los registrados que pueda manejar una conexión como la descrita en la URL y retornará un objeto que implemente el interfaz java.sql.Connection.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Sin embargo, en función de la localización de la base de datos, el driver, la aplicación y el protocolo de comunicación usado, nos podemos encontrar distintos escenarios que accedan a Base de Datos a través de JDBC:</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<br /><span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">Todos ellos se pueden agrupar en dos tipos distintos de arquitecturas:</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 0pt; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<br /><span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">En este caso, será el driver el encargado de manejar la comunicación a través de la red.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">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.</span><span style="color: #052940; font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><o:p></o:p></span></div>
<span style="color: #052940; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<br /></div>
</span><div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">
</span><span style="color: #052940; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">
</span><span style="color: #052940; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">
</span><span style="color: #052940; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">
<strong><span style="color: #052940; font-family: 'Verdana','sans-serif'; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: ES-MX;">REFERENCIAS:</span></strong></span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<a href="https://sites.google.com/site/conceptoprogramacion/Home/jdbc1"><span style="font-family: Arial, Helvetica, sans-serif;">https://sites.google.com/site/conceptoprogramacion/Home/jdbc1</span></a></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=introjdbc"><span style="font-family: Arial, Helvetica, sans-serif;">http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=introjdbc</span></a></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<o:p><span style="font-family: Arial, Helvetica, sans-serif;"> </span></o:p><a href="https://sites.google.com/site/conceptoprogramacion/Home/jdbc1"><span style="font-family: Arial, Helvetica, sans-serif;">https://sites.google.com/site/conceptoprogramacion/Home/jdbc1</span></a></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=introjdbc"><span style="font-family: Arial, Helvetica, sans-serif;">http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=introjdbc</span></a></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 12pt 2cm; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div class="MsoNormal" style="background: white; line-height: normal; margin: 0cm 0cm 10pt 2cm; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: 27.5pt;">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
</div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br /></div>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<div style="text-align: center;">
</div>
Anonymoushttp://www.blogger.com/profile/17015739478348268771noreply@blogger.com2