Différence entre OLEDB et ODBC

ODBC vs OLEDB

Si vous savez ce qu'ils sont, vous êtes probablement un développeur. Si vous ne savez pas ce qu'ils sont, mais que vous voulez savoir, vous êtes probablement un futur développeur..

En raison de la nature technique de cette comparaison, j'ai inclus un glossaire de termes à la fin de l'article. Si vous débutez dans ce genre de choses, vous voudrez peut-être jeter un coup d’œil à cette première.

Jetons un coup d'oeil à ces termes, à quoi ils servent et lequel je recommande.

Définition des termes

Architecture du pilote ODBC

ODBC est l'abréviation de Open Database Connecting. C'est une interface standard conçue pour la communication entre différentes applications et systèmes d'exploitation (OS).

Par exemple, si vous utilisiez écrit un programme pour Linux, mais vous vouliez aussi que je travaille sous (OS). Votre réponse serait une API comme ODBC.

Autrefois, les programmes étaient entièrement ré-écrits pour un système d'exploitation nouveau ou différent. Le processus était inefficace.

ODBC est apparu en 1992 pour résoudre ce problème.

ODBC a été créé à l'origine pour SQL (Structured Query Language). Depuis, il a été étendu pour gérer plus de langages de programmation.

OLE BD est l'abréviation de Object Linking and Embedding Database. Il s'agit d'un groupe d'API conçu pour fournir un accès aux données d'application dans différents formats de fichier. Cela comprenait la capacité SQL (comme ODBC) et de nombreux autres langages.

OLE BD devait réussir ODBC, mais les choses ont changé…

ODBC vs. OLEDB

ODBC était initialement axé sur SQL et, si vous utilisez SQL, il est logique d’utiliser ODBC. Le choix évident était jadis d’être OLEDB. Mais comme vous le découvrirez plus loin dans cet article, la dernière version de SQL à prendre en charge la technologie OLEDB lancée en 2012 est en train de disparaître rapidement..

Ce changement de stratégie de Microsoft en a pris au dépourvu. De nombreux utilisateurs obstinés se sont longtemps accrochés à ODBC. Il y avait aussi le fait que ODBC était en expansion.

Quant à la différence entre ces deux, il est très difficile de dire sans obtenir très technique.

Au fond, ce sont différentes API pour différentes sources de données.

Une opinion est qu'ODBC est plus spécifique et au point, où OLEDB est trop générique et trop compliqué.

Support actuel

Le lancement de SQL en 2012 a été le dernier à prendre en charge OLEDB. Cela fausse le vote en faveur d'ODBC.

ODBC a étendu sa compatibilité avec l’utilisation de pilotes, ce qui est un facteur majeur dans le changement de stratégie de Microsoft..

Les développeurs ont besoin de s'adapter

La version SQL susmentionnée (denali) est venue avec sept ans de support pour OLEDB. Cela signifie que, au moment où j'écris ces lignes, les développeurs n'ont plus que deux ans pour s'adapter.

Tout le monde comprend qu'il peut être difficile de s'adapter, mais les utilisateurs d'OLEDB n'auront pas le choix très bientôt.

Les différences entre ODBC et OLEDB

Ours avec moi, c'est sur le point de devenir très technique. Pour faciliter la lecture, j'ai contenu les informations dans un tableau..

Ce tableau est basé sur des informations fournies par un livre blanc technique de ftp.sas.com

ODBC OLEDB
Conçu à l'origine pour les bases de données relationnelles. (changé depuis) Conçu à l'origine pour les bases de données non relationnelles et relationnelles.
Support continu pour SQL Prise en charge SQL annulée 2019
À base de composants Basé sur la procédure
Plus difficile à déployer Plus facile à déployer

Cela résume à peu près tout. J'espère que vous avez maintenant une meilleure compréhension de la différence entre ODBC et OLEDB. Si vous ne le faites pas, j'ai lu quelques lectures supplémentaires ci-dessous, ainsi qu'un lien vers le document technique mentionné ci-dessus.

Si vous avez de l'expérience dans l'utilisation de ces deux API, pourquoi ne pas nous le faire savoir dans les commentaires? Avons-nous quelque chose de mal? Y a-t-il quelque chose que vous pouvez ajouter pour les débutants??

Nous aimerions avoir de vos nouvelles dans les commentaires.

Glossaire

ODBC: connexion ouverte à la base de données

Base de données OLE: base de données de liaison et d'intégration d'objets

OS: Système d'exploitation (comme Windows)

API: interface de programmation d'application

Base de données relationnelle: ensemble d'éléments de données triés dans des tables. Les éléments de données peuvent être consultés et réassemblés sans réorganiser les tables de la base de données.

Base de données non relationnelle: Ne suit pas la norme relationnelle. Aussi appelée base de données NoSQL.

Lectures complémentaires

Lien vers le livre blanc (obsolète - voir ci-dessus, OLEDB perd la fonctionnalité SQL): http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf

Base de données relationnelle ou non relationnelle: https://www.mongodb.com/scale/relational-vs-non-relational-database

Opinions des utilisateurs sur ODBC par rapport à OLEDB: https://community.qlik.com/thread/106540