C/Visual C - OLEDB & ODBC

   
Vista:

OLEDB & ODBC

Publicado por roberto (1 intervenci√≥n) el 18/09/2007 04:15:27
Muy buenas comunidad; tengo una duda y en verdad no dou con ella.
Pues aquí le va.

Lo que deseo es poder trabajar .NET con Microsoft Access y no sé que utilizar para ello, si OleDb o Odbc.

¬ŅCuales son las principales diferencias entre OLEDB y ODBC y cu√°ndo utilizar uno o el otro?.

Espero me ayuden porque en verdad estoy como loco.

Saludos... y muchas gracias.
Valora esta pregunta
Me gusta: Est√° pregunta es √ļtil y esta claraNo me gusta: Est√° pregunta no esta clara o no es √ļtil
0
Responder

RE:OLEDB & ODBC

Publicado por fernando.gomez (1604 intervenciones) el 18/09/2007 18:16:08
En el caso de c√≥digo administrado, pr√°cticamente es lo mismo, aunque OLEDB es un poco m√°s r√°pido y m√°s nuevo, y su dise√Īo es "orientado a objetos" (entre comillas, porque est√° basado en COM), mientras que ODBC es un API escrita en C (aunque para el caso de c√≥digo administrado existen envoltorios).

OLEDB se conecta directamente a la base de datos, mientras que con ODBC te conectas a los drivers ODBC, y estos a su vez se conectan (siguiendo especificaciones) a la base de datos y obtienen la información correspondiente. Es decir, mientras OLEDB es un modelo de 2 capas, ODBC es de tres capas.

Por otro lado, ODBC define tipos de datos estándares mientras que OLEDB puede definir tipos específicos para la base de datos específica. Además, ODBC cumple con ISO SQL 92, mientras que OLEDB se toma más libertades.

Sin embargo, estas consideraciones dejan de tener sentido cuando estamos con código administrado, porque 1) hay tipos de datos predefinidos (los del CLR), 2) todo es orientado a objetos (siguendo el CLS), 3) siempre hay una plataforma intermedia (System::Data::OleDb* y clases relacionadas).

En todo caso, OLEDB debería ser un poco más rápido, aunque con mayor carga en memoria que ODBC.

Saludos.
Valora esta respuesta
Me gusta: Est√° respuesta es √ļtil y esta claraNo me gusta: Est√° respuesta no esta clara o no es √ļtil
0
Comentar