Sin duda alguna, lo más importante que hay que saber respecto al manejo de bases de datos en ASP (presupuestos unos ligeros conocimientos en SQL y Access), es la inicialización del
driver de base de datos. Existen dos maneras de hacerlo, a saber:
La primera consiste en declarar un
DSN de Sistema a través de ODBC. Para ello iremos al botón Inicio de nuestro sistema Windows, y desde allí a la opción Configuración y después a Panel de Control . En la ventana que aparece debemos
dirigirnos a ODBC (o a ODBC de 32 bits , según el sistema), y se nos abrirá una nueva ventana con una serie de solapas. Nos vamos a DSN de sistema .
En este punto vamos a añadir nuestro nuevo DSN para la base de datos que queremos tratar. Para ello seleccionamos en botón Agregar . Se abre una ventana que lleva por título Crear un nuevo origen de datos en el que se nos muestran los
drivers de base de datos disponibles en nuestro sistema. Seleccionamos el deseado, en nuestro caso Microsoft Access Driver y pulsamos Finalizar .
Hecho esto se abre una nueva ventana, de nombre ODBC Microsoft Access 97 Setup .
En el campo Data Source Name debemos escribir el identificador que emplearemos para la base de datos (si por ejemplo se trata de una base de datos de libros cuyo archivo se llama
biblio.mdb, podríamos llamarla
libros). Luego presionamos el botón Select para seleccionar el archivo de base de datos dentro de la jerarquía de directorios del sistema, y tras esto pulsamos Ok . Y ya podremos hacer referencia a ese origen de datos desde nuestras páginas.
Esta primera opción es muy rápida de configurara, sin embargo, es muy frecuente desarrollar las páginas en una máquina y ponerlas en otra (un servidor propiamente dicho), por lo que resulta lioso tener un DSN para cada base de datos del sistema.
La segunda es un poco más pesada, por el hecho de que hay que incluir una serie de
líneas de código en cada página que haga uso de la base de datos, pero es mucho más flexible, puesto que si cambiamos de sistema, no debemos crear un nuevo DSN.
La declaración del driver debe hacerse antes de que se escriba algo en el documento HTML de salida, y es tan simple como esto:
<%@ LANGUAGE="VBScript" %>
<%
' Declaramos el objeto de conexión a la base de datos
Set ConexionBD =
Server.CreateObject("ADOdb.Connection")
' Abrimos el objeto con el driver específico
ConexionBD.Open "DRIVER={Microsoft Access Driver
(*.mdb)}; " & "DBQ=" & Server.Mappath("/ruta/bd.mdb")
%>
<HTML>
...
Vemos que en la sentencia ConexionBD.Open , en la parte DBQ=" tenemos lo siguiente Server.Mappath() , que es una variable que devuelve la ruta local del directorio raíz del servidor Web, y el parámetro que le pasamos hace referencia a la situación de la base de datos dentro de la jerarquía del servidor. Veamos el siguiente ejemplo.
Si tenemos nuestro servidor Web (
http://127.0.0.1∞ ó
localhost) en un directorio del sistema denominado
C:\Inetpub, y nuestra base de datos estará en
C:\Inetpub\biblioteca\libros.mdb , en
Server.Mappath deberemos indicar lo siguiente:
...
ConexionBD.Open "DRIVER={Microsoft Access Driver
(*.mdb)}; " & "DBQ=" &
Server.Mappath("/biblioteca/libros.mdb")
...
Atención, cuando nos referimos al sistema de directorios local utilizamos la barra (\) para separar los directorios, pero cuando hacemos referencia al servidor, se separan con el otro tipo de barra (/).
Con esto hemos cumplido con el primer paso, definir el driver para utilizar la base de datos, pero todavía no podemos realizar ninguna consulta ni modificación. Para ello tenemos que definir lo que en Basic se conoce como
RecordSet, que no es más que una agrupación lógica de registros (algo parecido a una variable de tabla lógica).