Maestros, que recomiendan para obtener una respuesta mas rápida del servidor.
Conectarme con ODBC o ADO.
Saludos,
Desde venezuela
| |||
Existen 2 tecnologias de conectar bases de datos (a mi entender) (si no mal recuerdo y tomado del cd de certificacion de Visual Basic): DAO (Database Access Objects) QUe es una tecnologia antigua, mediante la cual debias crear workspaces y trabajar con los objetos de conexion y recordset. ADO (ActiveX Data Objects) La tecnologia mas nueva que te permite conectarte, igual pero con menos objetos y mas veloz que la forma anterior. ADO por ejemplo, no requiere de grandes DLLS como si lo hacia DAO donde tenias que llevarte bastante espacio en los proyectos, aqui se van cargando los programas segun se vayan necesitando. ADO forma parte de toda una capa de programacion que se llama OLE DB. ADO emplea 3 tipos de objetos: -Conexion -Recordset -Command ADO puede acceesar una base de datos de 2 formas: a) Via ODBC: (Donde especificas el nombre del DSN) ------------------------------------------------------------ Set miconexion = Server.CreateObject("ADODB.Connection") miconexion.ConnectionString = "DSN=midsn" miconexion.Open ------------------------------------------------------------- b) Via DSNLess: donde especificas EL DRIVER Y LA RUTA DE LA BASE DE DATOS (En el caso de Sql Server se especifica la IP del servidor SQL) Para Access usando ODBC: EJEMPLO 1.- <% 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;" %> Ejemplo 2.- Para Access 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;" %> Aqui lo unico que VARIA ES QUE DRIVER TE INTERESA MANEJAR.. de cualquier manera tus objetos ya son via ADO (tal como lo especifica el createObject). Debido a que Microsoft DEJO el driver ANTERIOR que se usaba como "DRIVER={Microsoft Access Driver (*.mdb)}" POR COMPATIBILIDAD, pero recomienda para la mayoria de los casos el nuevo driver "Provider=Microsoft.Jet.OLEDB.3.51" que en algunos casos podrias hallar asi: "Provider=Microsoft.Jet.OLEDB.4.0" Dependiendo de la versioncon que cuentes. Saludos |
| |||
Y si, tambien Microsoft recomienda usar las conexiones con ODBC o DSN (via ADO claro) en lugar de las DSNLess, debido a que menciona que son mas "fuertes" o "robustas" (algo asi lei), pero, en mi caso, es mas comodo usar el DSNless. |
| |||
Cita: Para biblio.Todo el sistema ADO se basa en una serie de objetos cuyas propiedades y métodos hay que utilizar. Estos objetos están registrados en el sistema, sin embargo no están predefinidos. Es decir, hay que crearlos utilizando Server.CreateObject Como tu bien dices, ADO es un sistema de objetos. No es un método de conexion como ODBC u OLEDB. Lo que tu llamas como "conexion via ADO" es una pura conexion ODBC, la única diferencia con la de "DRIVER={Microsoft Access Driver (*.mdb)};", es que para la primera has de tener una DSN previamente creada, para la segunda no; pero son conexiones por ODBC. Yo siempre recomiendo OLEDB, es más rapido ![]() |
| ||||
Si, OLEDB es mas rapido, pero en realidad yo nunca he notado la diferencia, a lo mejor sera por el tipo de aplicaciones y en una aplicacion con mayor consumo de recursos se notaria, hasta el momento en mi experiencia cualquiera te funciona bien en una aplicacion "normal" ![]() Salu2,
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |