Foros del Web » Programando para Internet » ASP Clásico »

ODBC o ADO

Estas en el tema de ODBC o ADO en el foro de ASP Clásico en Foros del Web. Maestros, que recomiendan para obtener una respuesta mas rápida del servidor. Conectarme con ODBC o ADO. Saludos, Desde venezuela...
  #1 (permalink)  
Antiguo 05/08/2003, 17:37
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 22 años, 9 meses
Puntos: 0
ODBC o ADO

Maestros, que recomiendan para obtener una respuesta mas rápida del servidor.

Conectarme con ODBC o ADO.


Saludos,
Desde venezuela
  #2 (permalink)  
Antiguo 05/08/2003, 17:57
Avatar de pablinweb  
Fecha de Ingreso: julio-2003
Mensajes: 283
Antigüedad: 20 años, 10 meses
Puntos: 0
ODBC o OLEDB querras decir!!!

ODBC es por medio de un dsn de sitema y OLEDB es una llamada directa a los drivers
No se tecnicamente cual es mas rapido pero para es mas rapido y moderno OLEDB

Saludos
  #3 (permalink)  
Antiguo 05/08/2003, 20:27
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 5 meses
Puntos: 0
No, no, no. Está el ADO(ActiveX Data Objects) bien presente. Acá pongo los tres tipos de conexiones.

Código:
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 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;" 
%>

Conexion via ADO
<%
Set miconexion = Server.CreateObject("ADODB.Connection")
miconexion.ConnectionString = "DSN=midsn"
miconexion.Open

%>
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

En mi caso he trabajado con todos los componentes, pero el que mayor fortaleza tiene en mi concepto es el que se accede via DSN(Data Source Name), en este caso el ADO, algún entendido en este tema podrá ampliar esto.

Saludos

Última edición por biblio; 05/08/2003 a las 20:31
  #4 (permalink)  
Antiguo 05/08/2003, 23:05
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 6 meses
Puntos: 37
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
  #5 (permalink)  
Antiguo 05/08/2003, 23:08
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 6 meses
Puntos: 37
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.
  #6 (permalink)  
Antiguo 07/03/2005, 19:32
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 6 meses
Puntos: 0
que dilema no se cual elegir??
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #7 (permalink)  
Antiguo 08/03/2005, 02:02
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 19 años, 7 meses
Puntos: 0
Cita:
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
Para biblio.
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
  #8 (permalink)  
Antiguo 08/03/2005, 11:22
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
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" asi que no te compliques la existencia y ve con la que te sientas mas comodo!

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:04.