Sie sind auf Seite 1von 9

Base de datos I

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO


ESCUELA DE INGENIERIA ELECTRONICA Y TECNOLOGIA EN COMPUTACION DATOS GENERALES
Nombre: Tony Flores P.

Tema: Creacin del ODBC en SQL Server. Fecha de entrega: 20 de Junio de 2003 Semestre: Cuarto Perodo acadmico: Marzo - Septiembre 2003 ODBC en SQL Server. INTRODUCCION
Qu es el ODBC? Open Data Base Conectivity O lo que es lo mismo, conectividad abierta de bases de datos. Si escribimos una aplicacin para acceder a las tablas de una DB de Access, qu ocurrir si despus queremos que la misma aplicacin, y sin reescribir nada, utilice tablas de SQL Server u otra DB cualquiera? La respuesta es sencilla: no funcionar. Nuestra aplicacin, diseada para un motor concreto, no sabr dialogar con el otro. Evidentemente, si todas las DB funcionaran igual, no tendramos este problema, aunque eso no es probable que ocurra nunca. Pero si hubiera un elemento que por un lado sea siempre igual, y por el otro sea capaz de dialogar con una DB concreta, solo tendramos que ir cambiando este elemento, y nuestra aplicacin siempre funcionara sin importar lo que hay al otro lado, algo as como ir cambiando las boquillas de una manguera. A esas piezas intercambiables las llamaremos orgenes de datos de ODBC Casi todas las DB actuales tienen un ODBC. Debido a que este elemento impone ciertas limitaciones, ya que no todo lo que la DB sabe hacer es compatible con la aplicacin, como velocidad de proceso, tiempos de espera, mxima longitud de registro, nmero mximo de registros, versin de SQL, etc., est cayendo en desuso a cambio de otras tcnicas de programacin, pero an le quedan muchos aos de buen servicio. Todo lo referido aqu funciona con Windows NT Server 4.0 con el Service Pack 4 o superior instalado (actualmente existe el 6). El Option Pack 4 para actualizar el IIS y las extensiones ASP. SQL Server 6.5 y Access 97. Esas otras tcnicas de programacin antes mencionadas, se utilizan ya en el nuevo Windows 2000, Office 2000 y SQL Server 7.0, que adems de ODBC pueden utilizar. Esta es la idea: por un lado el ODBC provee de unas caracteristicas siempre homogneas, y por el otro permite distintos controladores que aseguran la conectividad de la aplicacin con diferentes bases de datos.

OBJETIVOS

Base de datos I
Aprender a crear el ODBC en el Gestor de Base de Datos SQL Server. Determinar el concepto del Open Data Base Conectivity u ODBC.

MARCO TEORICO
Cmo se instala el ODBC de SQL Server? Cuando se instala SQL Server 6.5 en una mquina Windows NT, el controlador ODBC es instalado automticamente. Si el servidor web es una mquina distinta a la que tiene SQL Server instalado, tendrs que conseguir el controlador ODBC del disco de instalacin de SQL Server, o bien, instalar Access 97, aunque es preferible el original de SQL. Creando un origen de datos Abrir el panel de control y localizar el icono llamado 32 bit ODBC. Abrirlo

Paso 1.- En el cuadro que aparece, seleccionar la etiqueta System DSN, ya que el IDC slo trabaja con este tipo de controladores. Pulsar el botn Add

Paso 2.-Seleccionar el controlador de SQL Server en la lista. Pulsar el botn Finalizar

Base de datos I

Paso 3.-Aqu es donde vamos a crear realmente el origen de datos de la aplicacin. Analicemos cada campo: el primero, Name, nos pide el nombre del origen de datos que vamos a crear, y que ser el utilizado por la aplicacin. Se puede poner cualquier nombre, sin espacios en blanco ni smbolos, slo letras y nmeros, como en el ejemplo: pruebas. Este nombre no tiene por qu ser el mismo que el de la base de datos que hay vinculada a l. Al facilitar este nombre al IDC, el ODBC se encargar de que la aplicacin "entienda" lo que dice la base de datos. El siguiente campo, Description es un breve comentario del origen de datos, si te es necesario, sino, puedes dejarlo vacio. El ltimo campo de esta pantalla es Server, y se refiere al nombre del servidor de bases de datos. Si no eres el administrador del servidor de bases de datos, puede que no sepas qu poner. Un servidor Windows NT con SQL Server se comporta en algunos casos como si se tratase de dos mquinas distintas, aunque en realidad es una misma. Dependiendo de a qu servicio queremos llegar se usa un nombre u otro, aunque podra ser el mismo en ambos casos, pero no se escriben de la misma forma. Las mquinas con sistema Windows NT o 95/98 se suelen agrupar en lo que se denominan grupos de trabajo, que son los que te aparecen en el icono Entorno de red del escritorio. La forma de referenciar una mquina de tu mismo grupo es mediante su nombre en el grupo. Supongamos que el nombre de nuestro servidor en internet es el siguiente: Mi_server.mi_empresa.mi_pais y que tiene asignada la direccin IP 255.255.255.255 Normalmente, esta mquina aparecer en el grupo como MI_server y si te quieres conectar a su servicio de impresora, por ejemplo, usaras la direccin: \\Mi_server\impresora. Habitualmente, los administradores de servidores asignan a los servidores de bases de datos el mismo nombre que tiene la mquina en la que residen, aunque puede ocurrir, por razones especiales, que no sea as. SQL Server, por defecto, adopta el nombre de la mquina en el grupo cuando se instala, es decir, MI_server, pero se podra haber utilizado otro. De ah podra surgir la impresin de que se trata de dos mquinas diferentes. Fjate que en cualquier caso, NO se utilizan las dos barras inclinadas delante del nombre. Y una cosa ms: en los sistemas NT, no olvidar que el usuario definido para acceder desde internet, exista, ademas de como usuario de NT, como usuario de la DB, y tenga los permisos necesarios para llegar y operar en ella. Si SQL Server se ha instalado con la Trusted security, el usuario y palabra de paso para el servidor NT y para SQL Server tienen que ser iguales. Es como abrir dos puertas con la misma llave. Una vez cumplimentados los tres campos, pulsa el botn Siguiente

Base de datos I

Paso 4.-En este paso definiremos cmo se har la verificacin del login y el password al conectar con SQL Server. Evidentemente, la primera de las dos opciones, autenticacin NT usando el login entrado en la conexin de red, no es lgica para una aplicacin de internet, en que el cliente utlizar unos parmetros de conexin a su propia red o a ninguna. Esta podra servir en caso de que la aplicacin se utilice en una intranet, y que no todos los usuarios tuviesen los mismos permisos. Por lo tanto marcaremos la segunda opcin: Autenticacin SQL Server usando un login y password dados por el usuario; y cuando dice "...dados por el usuario" no se refiere a que el cliente tenga que hacer esto cuando se conecte, sino a que el usuario y password los tenemos que proporcionar ahora, en los dos ltimos campos del formulario, en este caso el usuario es web y como palabra de paso en este caso no pondremos ninguna (que tambin es una forma de password). Tanto en aplicaciones programadas con el IDC como con ASP, los usuarios y passwords utilizados, no "viajan" con la informacin. Recuerda que son programas que se ejecutan en el propio servidor, y se activan a peticin del IIS, que a su vez , atiende una llamada http que le hace el cliente al servidor web con un usuario annimo, y despus de procesarla convenientemente, y de resolver internamente las conexiones con la DB que sean necesarias, al cliente le devolvern html estndar y transparente. Con esto se evita el tener que facilitar a los clientes claves que podran ser capturadas en la red indebidamente. Este usuario annimo utilizado por defecto en el IIS, normalmente slo tiene permisos de lectura en reas muy concretas del servidor NT. A las aplicaciones internet, habitualmente, no se les da nunca permisos para borrar nada, lo mximo que suelen poder hacer, es insertar registros en las tablas, y ocasionalmente, alguna pequea modificacin de datos, como puedan ser domicilios, o telfonos. Si el cliente desea ser borrado de la base de datos, normalmente lo solicitar al administrador de la DB, que proceder desde su aplicacin en la intranet. No se debe confundir este tipo de autenticaciones con las que se hacen desde una pgina web, que puede pedirnos un nombre de usuario (login) y una clave (password). En estos casos se trata de directorios protegidos en el propio servidor web, y concretamente con el IIS, es tan sencillo como asignar el directorio en cuestin a un usuario NT existente. Y es buena idea, puesto que en este caso la clave si viaja, que estos usuarios slo tengan permisos de lectura, y si la informacin que se va a acceder es confidencial, se debern instalar sistemas de encriptacin de los que soportan la mayora de navegadores modernos, o utilizar sistemas ms sofisticados a base de certificados electrnicos. Cuando se instala alguna pgina en uno de estos directorios protegidos, un problema muy habitual que suelen tener los clientes que utilizan el Internet Explorer como navegador, consiste en que sistemticamente reciben un mensaje de error del servidor, denegando el acceso. Esto es debido a que por defecto, el IE siempre intenta conectarse a los servidores en modo intranet, y por tanto envia automticamente al servidor web el usuario y clave de conexin a red local, que evidentemente, no son los que espera el servidor internet, provocando el error de acceso. La solucin consiste en configurar, en el cliente, correctamente el IE para que se conecte en modo internet, cosa que no todo el mundo sabe hacer, o bien cerrar la sesin de red local y abrir una nueva sin conexin, con lo que el IE no podr enviar nada, y podremos introducir las claves correctas cuando el servidor internet las demande. Esto no ocurre con Netscape, que siempre inicia la conexin en modo internet (de hecho no tiene otra).

Base de datos I
Y continuando con nuestro ODBC, el siguiente paso ser pulsar el botn Client configuration.

Como se ha dicho ms arriba, el servidor SQL va a tener un nombre escrito en formato de red Windows (Mi_Server), y como ya debes de saber, todas las comunicaciones entre mquinas en internet funcionan con el protocolo TCP/IP, que utiliza otra forma de referenciar las direcciones, que pueden ser con el nombre proporcionado por tu DSN, o sistema de resolucin de nombres, en la forma Mi_server.mi_empresa.mi_pais o mediante su direccin IP, en nuestro ejemplo 255.255.255.255 Para resolver este problema, SQL Server viene provisto de un cliente especial que se encargar de hacer las conversiones de nombre necesarias entre un sistema y otro. En la primera de las tres vistas que tiene este paso, DB Library, se configura si se aplicar alguna conversin de caracteres o no. La conversin de ANSI a OEM, sirve para cambiar el juego por defecto de SQL Server. Como ya debes de saber, SQL Server utiliza el juego de caracteres ANSI para almacenar los datos. Este juego de caracteres es distinto al OEM utilizado por los sistemas Windows, de modo que si escribimos con nuestra aplicacin internet, por ejemplo una "" o una letra acentuada en la tabla, sin aplicar esta conversin, ser guardada en equivalente ANSI. Si se pide ese registro a SQL Server desde su consola de control, o desde algun cliente, como IWSql, que son ANSI, no la veremos tal cual, sino un caracter extrao. El mismo registro, solicitado mediante la misma aplicacin que lo escribi se ver correctamente, y lo mismo ocurre con las aplicaciones locales desarrolladas para sistemas Windows, como Access 97. Como no es habitual explotar las tablas desde la consola o desde clientes SQL, es preferible dejar al servidor utilizar su juego por defecto. Si hay que cambiarlo, hay pensarlo ahora, ya que cuando existan registros en las tablas, si se cambia, ser trabajoso aplicar la conversin a todos ellos.

La siguiente vista, Net Library contiene un campo muy importante: la Default Network, es decir el tipo de red por defecto. Como ya se ha dicho, hay que trabajar en TCP/IP. Los tres siguientes campos se limitan a mostrarnos informacin de la libreria de red elegida: dnde est, cmo va a mostrar las fechas (que concide con lo definido en la configuracin regional de la mquina) y el tamao de la misma.

Base de datos I

La siguiente y ltima, Advanced contiene tres campos en los que hay que entrar los parmetros necesarios para convertir la direccin tipo Windows en su equivalente IP, como son Server, Network Protocol y Connection String, que hay que cumplimentar como puedes ver en la imagen, con los valores que ya conocemos. A continuacin pulsar el botn Add/Modify para que aparezca la correspondiente lnea en la ventana Current Entries

Aqu puedes ver la lnea de conexin ya compuesta. Si tuvieses ms de un servidor SQL, puedes repetir el proceso tantas veces como sea necesario, para referenciar a todos ellos de la misma manera. De la misma forma, si alguno de ellos cambia de nombre o de IP, slo hay que seleccionar la lnea correspondiente y pulsar de nuevo al botn Add/Modify para modificar lo que proceda. Pulsar el botn Done para concluir la configuracin del cliente SQL Server y pasar a la siguiente pantalla del ODBC.

Base de datos I

Paso 5.-En el paso 4 se defini al usuario web para utilizar la base de datos de la aplicacin. Pero, que ocurrir si el usuario web tiene permiso para utilizar ms de una base de datos? Tambin se supone que ya sabes que en SQL Server, cuando se da de alta un usuario, es obligatorio asignarle una base de datos por defecto, y los administradores suelen asignar la que normalmente tiene ms uso. Si habitualmente utilizamos el usuario web para las transacciones internet, lo normal ser que tenga permisos en varias bases de datos, y por tanto habr que definir en cada ODBC cual es la DB por defecto. Esto se hace marcando la casilla Change the dafault data base to y escogiendo a continuacin de la lista que hay debajo la que proceda. Lo que aparece en esa lista s son nombres de bases de datos y no de orgenes de datos definidos para ODBC, aunque en este caso coincidan. En la imagen puedes ver cmo marcar el resto. Fjate que, en general, se suele dejar a SQL Server utilizar los valores ANSI para casi todo. Procura crear los ODBC siempre igual, te evitars problemas inesperados, y dudas del tipo "..dnde estar fallando..?". Recuerda que SQL Server trabaja internamente con el lenguaje SQL ANSI que incluye un gran nmero de funciones de todo tipo y de system procedures, o procedimientos de sistema, autnticos programas escritos en SQL, y con los que se administra el servirdor, que trabajan mal con datos que no sean compatibles ANSI. Siempre que haya que hacer una traslacin que sea fuera de las tablas.

Paso 6.-El primer campo de este paso sirve para definir el idioma que SQL Server utilizar para emitir los mensajes de error cuando algo no funcione bien. Dado que no hay versin en espaol de este producto, hay que dejarlo como est: (Default), es decir: ingls. Los siguientes son algo parecido a los que hay en la primera pantalla del paso 4: el primero permite al ODBC elegir el mtodo de traslacin; el segundo indica que no se debe utilizar ningn mtodo de traslacin; el tercero fuerza la conversin del juego de caracteres, pero en lugar de ANSI a OEM que se haca en el paso 4, aqu es de OEM a ANSI; el cuarto es para utilizar un conversor propio del ODBC, que hay de definir, y no el de SQL Server. Hay una gran diferencia entre estos sistemas de traslacin y los del paso 4: Aqu la traslacin se realiza despus de extraer el dato de la tabla y antes de presentarlo en pantalla, es decir, que son traslaciones slo a efectos de visualizacin y no afectan a los datos. En el paso 4 la traslacin se hace antes de guardar el dato en la tabla, y s afectan a los datos.

Base de datos I

Y por fin el ltimo control sirve para definir cmo se presentarn las fechas, nmeros y monedas en pantalla: si en formato ANSI o segn lo especificado en la configuracin regional de la mquina Pulsar el botn Siguiente despus de haber marcado lo que proceda.

Paso 7.-Aqu se definen los ficheros de logins, que son unos ficheros de texto donde SQL Server y el ODBC van escribiendo todo lo que hacen, tanto si acaba bien como si no, y que son muy tiles cuando hay problemas, ya que permiten rastrear todo los procesos. Conviene mantener sus nombres, ya que son utilizados por algunas herramientas de estadisticas y rastreadores de errores. Puede que sea necesario cambiar la unidad de disco si no te queda mucho espacio en la unidad C (por defecto), ya que crecen continuamente, y peridicamente se deben vaciar; la frecuencia depender lgicamente de la actividad del servidor. Pulsar el botn Finalizar para pasar al ltimo paso.

Paso 8.-En este ltimo paso, como puedes ver, no hay que escribir nada. Nos muestra un resumen de todos los pasos anteriores, y nos ofrece el botn Test Data Source para probar si el origen de datos puede funcionar con los datos que le hemos proporcionado. En caso afirmativo s hay que pulsar el botn OK para termitar el proceso. Si falla la prueba, habr que volver atrs y revisar los datos hasta que funcione. Si el origen de datos no funciona desde aqu no funcionar desde ninguna parte. Si la aplicacin da problemas, y este test funciona correctamente, el fallo hay que buscarlo en la aplicacin. Si un origen de datos que funcionaba deja de hacerlo, el problema puede estar en la red, o en el SQL Server. Revisar si el usuario todavia es vlido para esa DB, y si lo es, si se mantienen los permisos que tena. Si todo es correcto, pero sigue sin funcionar, lo mejor es borrarlo y crear uno nuevo. Lo nico que se prueba desde aqu es si el ODBC puede llegar a la DB con el usuario definido en modo lectura, no si hay datos en la DB, o si se puede escribir en ella.

Base de datos I

Ya tenemos listo el ODBC. Pulsar el botn Aceptar para cerrar el administrador de orgenes de datos. En el caso de que haya que cambiar alguna cosa, se selecciona el origen de datos que proceda y se pulsa el botn Configure.

CONCLUSIONES Y RECOMENDACIONES Conclusiones: Que cuando tenemos una aplicacin en un Gestor de Bases de Datos y necesitamos tablas que fueron creadas en otro gestor el ODBC nos permite que podamos utilizar estas y as nuestra aplicacin funcionara. Que para la creacin del ODBC se debe seguir los pasos correctamente y as conseguiremos nuestro objetivo.

Recomendaciones: Se recomienda usar estos pasos para la creacin del ODBC en SQL Server.

INTERNET http://sestud.uv.es/manual.esp/gestion3.htm http://sestud.uv.es/manual.esp/gestion5.htm

Das könnte Ihnen auch gefallen