Tipos de conexión a una base de datos
Tipos de conexión a
una BD (Base de Datos)
1 - Conexión con DSN (ejemplo para Access)
La conexion con DSN es la más cómoda, pero sólo se puede utilizar si tenemos
acceso al Panel de Control de la máquina servidor. Por supuesto si estamos
contruyendo una intranet tenemos el server a nuestro alcanze y a su Panel de
Control.
Si simplemente estamos aprendiendo ASP y usamos el PWS (Personal Web Server) o
el IIS 4 de NT tambien disponemos de esta comodidad.
Veamos como se realiza la conexion a una base de datos de Microsoft Access:
Creamos nuestra base de Datos en Microsoft Access y la guardamos. Luego vamos a
Inicio > Configuracion > Panel de Control y alli elegimos Fuentes de Datos ODBC
Al ingresar nos encontramos con una pantalla que es el administrador de origenes
de datos ODBC. En la solapa DSN de Usuario presionamos el boton Agregar. Luego
seleccionamos Microsoft Access Driver (*.mdb) y presionamos Finalizar. Ahora se
hara la conexión ODBC. Presionamos el boton Seleccionar y elegimos nuestra Base
de Datos e ingresamos el nombre de la base en el primer campo.
Por último el boton Aceptar
Si todo salio bien debería aparecer el nombre de nuestra Base de Datos en la
solapa DSN de usuario y ya tendremos hecha nuestra conexion ODBC a BS.
Ahora debemos conectar la base de datos en la pagina ASP
<%
'Definimos la variable para la conexión.
Dim Conex
Set Conex = Server.CreateObject ("ADODB.Connection")
'y ya estamos conectados a nuestra base de datos.
Conex.Open "nombre de la BD"
'aqui abrimos la tabla. ...
%>
Como vieron no es algo dificil... solo hay que aprenderser la linea de conexión.
Pero recuerden que esto no servira si suben su BS y su sitio a internet. Para
esto deben usar la siguiente conexón.
2 - Conexión sin DSN
Este tipo de conexión es más complicada, pero es lo que debemos utilizar si
queremos olvidar el panel de control, ya que hacemos la conexión a la base de
datos mediante comandos. Ademas es mas rápida ;)
Observar bien bien la sintaxis... ya que es lo que nos trae los problemas
siempre.
Para Access usando ODBC:
<%
Dim Conex
'Creamos el objeto de conexion ahora...
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\misitio\db\mibase.mdb;"
%>
Para Access 97 usando OLEDB:
<%
Dim Conex
'Creamos el objeto de conexion ahora...
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.Open "Provider=Microsoft.Jet.OLEDB.3.51; Data
Source=C:\misitio\db\mibase.mdb;"
%>
Para Access 2000 usando OLEDB:
<%
Dim Conex
'Creamos el objeto de conexion ahora...
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=C:\misitio\db\mibase.mdb;"
%>
Para SQL Sever:
<%
Dim Conex
'Creamos el objeto de conexion ahora...
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.Open "driver={SQL Server};server=TU_SERVIDOR; database=NOMBRE_BASE;
uid=sa;pwd="
%>
Importante: En los 3 primeros ejemplos, referidos todos a conexiones con bases
de datos Access, use un path fijo. Lo puse asi, para el mejor entendimiento,
pero generalmente se hace uso de la funcion Server.MapPath() la cual devuelve el
path donde ejecutamos el script
Les intentaré explicar el uso de esa función mediante un ejemplo que no tiene
que ver con conexion a base de datos, pero intentaré que se relacione.
<%
Dim path
'guardamos en la variable path lo que devuelve la función
path = Server.MapPath("./")
Response.Write path
%>
El código ejecutado, muestra el contenido de la variable path C:\InetPub\WWWRoot\directorio_actual
Como ven la variable path contiene el directorio donde se ejecuta el script.
Entonces esto se podría usar para indicar el path a la base de datos (que en los
ejemplo anteriores lo escribiamos a mano)
Fuente:
Soloasp.com.ar