Por: Juan Eduardo Escobar Salazar @juan144
Este post es referenciado de OLE DB» href=» http://bit.ly/15E9OyO» target=»_blank»>ODBC vs. OLE DB escrito por James D. McCaffrey
Las conexiones ODBC y OLE DB son las formas en las que una aplicación puede acceder a los datos en un banco de datos. ODBC significa Open Database Connectivity (Conectividad Abierta de Bases de Datos) y fue creada en 1992 por Microsoft para estandarizar la comunicación entre la programación y SQL.
OLE DB inicialmente se referencia a Object Linking and Embedding for Databases (Vinculación e Incorporación de Bases de Datos) pero ahora el acrónimo solo significa una interfaz de base COM para un amplio rango de orígenes de datos. Se incorporó en a mediados de los 90 como herramienta para proveer a los programadores una interfaz para muchos tipos de datos, incluyendo bases de datos SQL, hojas de cálculo de Excel, entre otros.
La mejor manera de entender la relación entre ODBC y OLE DB es como se ilustra en la imagen.
OLE DB»
src=»http://blog.direktio.com/wp-content/uploads/2013/08/ODBC-vs.-OLE-DB-300×154.png» width=»300″ height=»154″ /> ODBC vs. OLE DBDadas las controversias políticas de las decisiones de mercado de Microsoft, es importante conocer los pros y contras técnicos:
- Si el usuario quiere acceder a datos independientes del lenguaje SQL, debe migrar a OLE DB. Como se señaló, los conectores ODBC están ligados al lenguaje SQL. Si el problema del usuario se puede solucionar directamente manipulando las tablas, es mejor usar OLE DB.
- Si el usuario desea interfaces paralelas para datos multidimensionales, se recomienda OLE DB pues es el único estándar para datos y modelos con estas características, además reduce la cantidad de código requerido y tiempo de ejecución.
- Si el usuario requiere acceder a diferentes bases de datos (locales, compartidas, IOM, etc) desde una sola aplicación, se debe usar OLE DB, de lo contrario se estarán usando rutas de código separada para cada método de acceso. Esto también es fundamentado en la idea de que los conectores OLE DB reducen las diferencias entre controladores, dialectos SQL y DBMS que han presentado problemas entre las configuraciones ODBC.
- Si la necesidad del usuario es ejecutar actualizaciones concurrentes, la configuración OLE DB es la mejor opción. Para actualizar registros usando un controlador ODBC, el usuario debe generar sentencias SQL UPDATE que son básicamente actualizaciones orientadas a lotes. No existe un concepto de bloquear registros en un modelo ODBC. La configuración OLE DB se acomoda a varios modelos permitiendo la administración de muchos más datos desde aplicaciones.
Es por todo lo anterior que para desarrollo de modelos QlikView complejos y que dependan de múltiples bases de datos, se recomienda usar conexiones OLE DB en vez de conexiones ODBC.