33 - Conexión a una base de dato ACCESS |
Con el programa Microsoft ACCESS se crea la base de datos. En nuestro caso crearemos una base de datos llamada: "administracion" y crearemos las dos tablas articulos y rubros como en los ejemplos vistos con SQL Server.
A diferencia de SQL Server en ACCESS subimos a nuestro servidor el archivo "administracion.mdb". En este servidor lo almacené en la carpeta usuarios que es una subcarpeta de aspya.
Implementaremos el algoritmo para imprimir el contenido de la tabla "rubros".
pagina1.asp
<%option explicit%> <html> <head> <title>problema</title> </head> <body> <% dim conexion set conexion = Server.CreateObject("ADODB.Connection") conexion.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _ Server.MapPath( "/aspya/usuarios/administracion.mdb") conexion.Open dim registros set registros = Server.CreateObject("ADODB.RecordSet") registros.open "select codigo,descripcion from rubros",conexion do while not registros.eof response.write("Código:" & registros("codigo")) response.write("<br>") response.write("Descripción:" & registros("descripcion")) response.write("<br>") response.write("------------------------------------------------------------") response.write("<br>") registros.movenext loop conexion.close %> </body> </html>
Lo único que tenemos de diferencia con SQL Server es la cadena de conexión:
conexion.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _ Server.MapPath( "/aspya/usuarios/administracion.mdb")
Inicializamos las dos variables de entorno DRIVER y DBQ. La forma más conveniente de inicializar la variable DBQ es utilizando la ruta relativa donde se encuentra la base de datos "administracion.mdb". En este servidor todos los visitantes acceden a la misma base de datos que se encuentra en la carpeta aspya/usuarios/.
El método MapPath del objeto Server nos retorna la ruta absoluta de la base de datos (por ejemplo c:\inetpub\aspya\usuarios\administracion.mdb)
En este problema como accedemos a características comunes a SQL Server y ACCESS el resto del algoritmo es idéntico.
Tengamos en cuenta que si almacenamos la base de datos de ACCESS en la misma carpeta donde guardamos nuestras páginas asp y html luego la cadena de conexión puede ser :
conexion.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _ Server.MapPath( "administracion.mdb")
Es decir al método MapPath solo le indicamos el nombre de la base de datos.