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