Entre ODBC et OLEDB

Anonim

ODBC vs OLEDB

Généralement, les applications logicielles sont écrites dans un langage de programmation spécifique, etc.), tandis que les bases de données acceptent les requêtes dans un autre langage spécifique à la base de données (comme SQL). Par conséquent, lorsqu'une application logicielle doit accéder à des données dans une base de données, une interface capable de traduire les langues les unes aux autres (application et base de données) est requise. Sinon, les programmeurs d'applications doivent apprendre et incorporer des langages spécifiques à la base de données dans leurs applications. ODBC (Open Database Connectivity) et OLEDB (Object Linking and Embedding, Base de données) sont deux interfaces qui résolvent ce problème spécifique. ODBC est une interface indépendante de la plate-forme, du langage et du système d'exploitation qui peut être utilisée à cette fin. OLEDB est le successeur d'ODBC.

Qu'est-ce que ODBC?

ODBC est une interface permettant d'accéder aux systèmes de gestion de base de données (SGBD). ODBC a été développé par SQL Access Group en 1992 à la fois il n'y avait pas de support standard pour communiquer entre une base de données et une application. Il ne dépend pas d'un langage de programmation spécifique ou d'un système de base de données ou d'un système d'exploitation. Les programmeurs peuvent utiliser l'interface ODBC pour écrire des applications pouvant interroger des données à partir de n'importe quelle base de données, quel que soit l'environnement sur lequel elles s'exécutent ou le type de SGBD utilisé.

Étant donné que le pilote ODBC sert de traducteur entre l'application et la base de données, ODBC est en mesure d'atteindre l'indépendance du langage et de la plate-forme. Cela signifie que l'application est déchargée de la charge de la connaissance du langage spécifique à la base de données. Au lieu de cela, il ne connaîtra et n'utilisera que la syntaxe ODBS et le pilote traduira la requête vers la base de données dans un langage compréhensible. Ensuite, les résultats sont renvoyés dans un format qui peut être compris par l'application. L'API logicielle ODBC peut être utilisée avec des systèmes de bases de données relationnelles et non relationnelles. Un autre avantage majeur d'avoir ODBC en tant que middleware universel entre une application et une base de données est que chaque fois que la spécification de la base de données change, le logiciel n'a pas besoin d'être mis à jour. Seule une mise à jour du pilote ODBC serait suffisante.

Qu'est-ce que OLEDB?

OLEDB est une API de données développée par Microsoft. Il permet d'accéder à des données provenant d'un large éventail de sources de données. Il est implémenté en utilisant le COM (Component Object Mode) de Microsoft. OLEDB est considéré comme un successeur à ODBC, et il peut gérer les sources de données à un niveau beaucoup plus élevé par rapport à ODBC. Essentiellement, OLEDB étend les fonctionnalités ODBC à des bases de données non relationnelles (par exemple des bases de données d'objets et des feuilles de calcul). Cela signifie que OLEDB peut être utilisé avec des bases de données n'utilisant pas SQL. OLEDB a été développé dans le cadre des composants Microsoft Data Access (MDAC).

Quelle est la différence entre ODBC et OLEDB?

Si le programmeur n'est pas familier avec COM, alors ODBC est la meilleure option. Mais, ODBC est seulement bon pour les bases de données relationnelles, tandis que OLEDB convient aux bases de données relationnelles et non-relationnelles. Si la base de données ne prend pas en charge les environnements OLE (environnements non-OLE), ODBC est le meilleur choix. Si l'environnement n'est pas SQL, vous devez utiliser OLEDB (car ODBC ne fonctionne qu'avec SQL). De même, si des composants de base de données interopérables sont requis, OLEDB doit être utilisé à la place d'ODBC. Cependant, pour les données 16 bits, l'accès à ODBC est la seule option (OLEDB ne prend pas en charge 16 bits). Enfin, OLEDB est le meilleur choix pour se connecter à plusieurs bases de données à la fois (ODBC peut se connecter à une seule base de données à la fois).