ASP Fcil
El sitio para programadores ASP  

Búsqueda rápida
Ayuda
Secciones
Portada
Diario
Artículos
Código
Trucos
Foros ASP
Recursos
Favoritos
Referencia
Tutorial SQL
SQL-O-Matic
Otras
Boletín ASPFácil
Colabora
Sobre este sitio
Anunciarse aquí
Cont@ctar
Formación


Versión para imprimir / Salvar en Favoritos

¡Conectando!

por MOS

Las conexiones a bases de datos se hacen a través del objeto ADO Connection que debe crearse en la página así:

Dim oConn ' Declaro la variable
set oConn=Server.CreateObject("ADODB.Connection")
...

Esta última línea crea una instancia del objeto, es decir, hace que la variable oConn ahora se refiera a un objeto por lo que para acceder a los métodos de ese objeto usamos:

oConn.método

Ahora necesitamos que el objeto ADO se conecte "físicamente" a la base de datos. Hay dos formas de conectarse a una base de datos:

  • A través de un DSN (Data Source Name) en cuyo caso la forma de conectar es mucho más sencilla, o bien
  • Sin DSN y con una cadena de conexión algo más compleja.

Conexión con DSN

La conexión a través de DSN utiliza para acceder a la base de datos un archivo que se debe configurar en el Panel de Control. Esto simplifica muchísimo la página ASP en sí, pero tiene un par de desventajas, que luego veremos.

Para configurar tu DSN, sigue los siguiente pasos:

  1. Ve a Inicio/Configuración/Panel de Control. En la ventana que se abre, busca Fuentes de Datos ODBC. Haz doble click.
  2. Ahora estás en el Administrador de origen de datos ODBC. Elige la pestaña DSN de sistema. Verás una lista de los DSN de sistema que tengas (podrías no tener ninguna). Pulsa sobre Agregar y te saldrá una ventana en la cual eliges el Origen de Datos. La lista es simplemente la lista de drivers que tienes instalados. Elige el correspondiente a la base de datos a la que vas a conectar. Si es una base de datos Access, por ejemplo, elige Microsoft Access Driver (*.mdb).
  3. Estás a punto de terminar, no sufras. :) En el primer campo, Nombre de origen de datos introduce el nombre que quieras, es simplemente el nombre del DSN. Puedes poner Pepe, Juan, Horacio o el clásico Prueba, si quieres. En este ejemplo utilizaremos Prueba.
  4. La descripción puedes obviarla, y pulsa sobre Seleccionar, en el apartado Bases de datos. Se abrirá un pequeño explorador de tu disco donde puedes moverte por los directorios hasta encontrar tu fichero. En este caso, busco prueba.mdb (Access) en el directorio C:\Inetpub\wwwroot.
    Cuando encuentres el archivo haz doble click sobre él y volverás a la pantalla anterior.
  5. Pulsa sobre Aceptar y verás tu nuevo DSN en la lista. Pulsa aquí sobre Aceptar y habrás terminado.

Para utilizar ahora tu base de datos en tu página ASP, usa el método Open del objeto Connection que declaramos arriba, de este modo:

...
oConn.Open "DSN=Prueba"
...

¡Enhorabuena! Ya tienes en tu página ASP una conexión abierta con tu base de datos prueba.mdb, que has hecho con Access. En el siguiente artículo verás como hablar con la base de datos para sacar datos.
NOTA:Si no sabes utilizar MS Access, en la sección de Principiantes encontrarás un pequeño tutorial para Crear bases de datos en Microsoft Access.

Conexión sin DSN

Ahora mismo te estarás preguntando ¿para qué otro tipo de conexión con lo sencillo que es a través de un DSN? Hay dos motivos fundamentales para utilizar conexiones sin DSN:

  1. Es más eficiente. Conectar sin DSN produce resultados más rápidos según pruebas realizadas por Microsoft. Pero la razón más importante es que
  2. Las conexiones DSN sólo funcionan en el equipo en el que añades el DSN. ¿Qué significa esto? Que si mueves tu aplicación ASP a otro equipo, cambias el tuyo o simplemente vas a subir tus páginas a un servidor, no podrás utilizar el DSN.
    ¿Y cuántos hosts te permiten toquetear en el Panel de Control? Si conocéis alguno decídmelo. :)

La conexión sin DSN presenta siempre algún problema, que suele ser de tipo ortográfico. Vamos, que nos equivocamos siempre. Para conectar sin DSN utilizamos directamente el método Open pero con muchos más parámetros, esto es:

  1. Hay que especificar el Driver que hay que utilizar.
  2. Hay que especificar dónde está nuestra base de datos.

Es exactamente lo que elegimos en las conexiones con DSN, sólo que ahora lo vamos a hacer a mano. La forma de hacerlo es esta:

...
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\Inetpub\wwwroot\prueba.mdb;"

La cadena anterior no tiene ningún salto de línea, se escribe entera seguida.
DRIVER especifica el driver a utilizar. Ojo con las llaves ({}) y los paréntesis dentro. DBQ especifica la ruta a nuestra base de datos.
Cuando se ejecuta esta línea, estarás conectado a la base de datos. (O por lo menos tendrás una bonita colección de errores, jejeje). Todos tienen solución, tranquilo. :)

En resumen...

...Si estás simplemente probando páginas ASP en tu servidor local (PWS por ejemplo), o vas a desarrollar páginas para la intranet de tu empresa, puedes utilizar una conexión con DSN, por la facilidad que supone configurarlas. Ahora bien, no olvides probar a conectarte sin DSN por si lo necesitas más adelante.

Si en cambio tus páginas van a ir a un servidor ajeno para publicarlas o simplemente quieres que vayan más deprisa, utiliza una conexión sin DSN.

Un saludo,
MOS

>> ¿Quieres saber cuándo se publicarán nuevos artículos? ¡Suscríbete al Boletín de ASPFácil! << 
>> Comparte tus dudas y comentarios sobre este artículo en el foro Artículos de ASPFácil << 
(Arriba)

© ASP Fácil 2000-2004 excepto en casos indicados
El mejor alojamiento web en acens