Underc0de - Hacking y seguridad informática

Programación Web => Zona Webmaster => Mensaje iniciado por: @ed33x en Febrero 02, 2011, 02:07:41 pm

Título: [ASP.NET] Tipos de conexion a una DB (Base de datos)
Publicado por: @ed33x en Febrero 02, 2011, 02:07:41 pm
1 - Conexion con DSN (ejemplo para Access)

La conexion con DSN es la mas comoda, pero solo se puede utilizar si tenemos acceso al Panel de Control de la maquina 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 conexion ODBC. Presionamos el boton Seleccionar y elegimos nuestra Base de Datos e ingresamos el nombre de la base en el primer campo.
Por ultimo el boton Aceptar
Si todo salio bien deberi­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

Código: ASP
  1. <%
  2. 'Definimos la variable para la conexion.
  3. Dim Conex
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. 'y ya estamos conectados a nuestra base de datos.
  6. Conex.Open "nombre de la BD"
  7. 'aqui abrimos la tabla. ...
  8. %>

Como vieron no es algo dificil... solo hay que aprenderser la linea de conexion. Pero recuerden que esto no servira si suben su BS y su sitio a internet. Para esto deben usar la siguiente conexon.

2 - Conexion sin DSN

Este tipo de conexion es mas complicada, pero es lo que debemos utilizar si queremos olvidar el panel de control, ya que hacemos la conexion a la base de datos mediante comandos. Ademas es mas rapida ;)
Observar bien bien la sintaxis... ya que es lo que nos trae los problemas siempre.

Para Access usando ODBC:
Código: ASP
  1. <%
  2. Dim Conex
  3. 'Creamos el objeto de conexion ahora...
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. Conex.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\misitio\db\mibase.mdb;"
  6. %>

Para Access 97 usando OLEDB:
Código: ASP
  1. <%
  2. Dim Conex
  3. 'Creamos el objeto de conexion ahora...
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. Conex.Open "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=C:\misitio\db\mibase.mdb;"
  6. %>

Para Access 2000 usando OLEDB:
Código: ASP
  1. <%
  2. Dim Conex
  3. 'Creamos el objeto de conexion ahora...
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\misitio\db\mibase.mdb;"
  6. %>

Para SQL Sever:

Código: ASP
  1. <%
  2. Dim Conex
  3. 'Creamos el objeto de conexion ahora...
  4. Set Conex = Server.CreateObject ("ADODB.Connection")
  5. Conex.Open "driver={SQL Server};server=TU_SERVIDOR; database=NOMBRE_BASE; uid=sa;pwd="
  6. %>

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 intentare explicar el uso de esa funcion mediante un ejemplo que no tiene que ver con conexion a base de datos, pero intentare que se relacione.
Código: ASP
  1. <%
  2. Dim path
  3. 'guardamos en la variable path lo que devuelve la funcion
  4. path = Server.MapPath("./")
  5. Response.Write path
  6. %>

El codigo ejecutado, muestra el contenido de la variable path
Como ven la variable path contiene el directorio donde se ejecuta el script.


Fuente :soloasp.com.ar