Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/02/2010, 06:57
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ODBC vs OLeDB

Cita:
Iniciado por wakewakeup Ver Mensaje
Hola,

Tengo que hacer una aplicación independiente del tipo de base de datos (oracle, sql server, mysql, acess). En principio he pensado en ODBC, pero despues me han recomendado OLeDB, y leyendo la gente dice que OLeDB es mas lento...

¿Cual me recomendais para una aplicación windows forms?

Gracias
Mira:
1) Debes tener en cuenta que cada DBMS tiene sus propios conectores y mucho más eficientes que cualquiera de las dos opciones, para administrar la comunicación con las aplicaciones .Net. Usar un único y exclusivo método es por lo menos desaprovechar las capacidades de los sistemas nativos.

2) Ten en cuenta también que cada uno de los DBMS tiene extensiones agregadas al estandar SQL que implementan recursos mejores que otros para muchas tareas. Por ello, usar un sólo esquema de métodos para todas las bases de datos es, a todas luces, un desaprovechamiento de recursos.

Sólo teniendo estas dos consideraciones, se entiende entonces mi consejo: Si quieres flexibilidad para operar diferentes DBMS, crea una clase para cada uno, con los mismos métodos y diferente código interno, e instancia uno u otro según sea el que se esté usando. Esto implicará tener una clase Base de Datos para que todos los Form se comuniquen con ella, y dentro de ella, una instancia de la clase que controla al DBMS activo.

Eso si: Significará que necesitarás programar mucho SQL de diversas utilidades para hacer las cosas de diferente forma... Pero eso ya es otra historia.

Para mi, estás tratando de hacer cosas demasiado complicadas, a menos que cuentes con recursos humanos suficientes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)