Unterschied zwischen OLEDB und ODBC

ODBC vs OLEDB

Wenn Sie wissen, was sie sind, sind Sie wahrscheinlich ein Entwickler. Wenn Sie nicht wissen, was sie sind, aber wissen wollen - Sie sind wahrscheinlich ein zukünftiger Entwickler.

Aufgrund des technischen Charakters dieses Vergleichs habe ich ein Glossar mit Begriffen am Ende des Artikels eingefügt. Wenn Sie neu in diesem Bereich sind, sollten Sie zuerst einen Blick darauf werfen.

Werfen wir einen Blick auf diese Begriffe, wofür sie verwendet werden und welche ich empfehle.

Definieren von Termen

ODBC-Treiberarchitektur

ODBC ist die Abkürzung für Open Database Connecting. Es ist ein Schnittstellenstandard, der für die Kommunikation zwischen verschiedenen Apps und Betriebssystemen entwickelt wurde.

Wie zum Beispiel, wenn Sie ein Programm für Linux geschrieben haben, aber Sie wollten auch in (OS) arbeiten. Ihre Antwort wäre eine API wie ODBC.

In früheren Zeiten wurden Programme komplett für ein neues oder anderes Betriebssystem neu geschrieben. Der Prozess war ineffizient.

ODBC tauchte 1992 auf, um dieses Problem zu lösen.

ODBC wurde ursprünglich für Structured Query Language (SQL) erstellt. Es wurde seitdem erweitert, um mehr Programmiersprachen zu handhaben.

OLE BD ist die Abkürzung für Object Linking and Embedding Database. Dies ist eine Gruppe von APIs, die den Zugriff auf App-Daten in verschiedenen Dateiformaten ermöglichen. Dies beinhaltete SQL-Fähigkeit (wie ODBC) und viele andere Sprachen.

OLE BD wurde als Nachfolger von ODBC gesetzt, aber die Dinge änderten sich ...

ODBC vs. OLEDB

ODBC war anfänglich auf SQL ausgerichtet, und wenn Sie SQL verwenden, macht es Sinn gehe mit ODBC. Die offensichtliche Wahl war OLEDB. Aber wie Sie später in diesem Artikel erfahren werden, wurde die letzte SQL-Version zur Unterstützung von OLEDB im Jahr 2012 eingeführt. Und sie wird schnell auslaufen.

Dieser Strategiewechsel von Microsoft hat einige überrascht. Viele hartnäckige Benutzer klammerten sich so lange an ODBC, sodass der Umzug Sinn ergab. Außerdem gab es die Tatsache, dass ODBC expandierte.

Was den Unterschied zwischen diesen beiden angeht, ist es sehr schwer zu sagen, ohne sehr technisch zu werden.

Im Kern sind das unterschiedliche APIs für verschiedene Datenquellen.

Eine Meinung ist, dass ODBC spezifischer ist und zu dem Punkt, wo OLEDB zu allgemein und zu kompliziert ist.

Aktuelle Unterstützung

Der Start von SQL 2012 war der letzte, der OLEDB unterstützte. Dies verzerrt die Abstimmung zugunsten von ODBC.

ODBC hat seine Kompatibilität mit der Verwendung von Treibern erweitert, was ein wichtiger Grund für den Strategiewechsel von Microsoft ist.

Entwickler müssen anpassen

Die oben genannte SQL-Version (Denali) kam mit sieben Jahren Unterstützung für OLEDB. Das bedeutet, dass Entwickler nur noch zwei Jahre Zeit haben, um sich anzupassen.

Jeder versteht, dass es schwierig sein kann, sich anzupassen, aber OLEDB-Benutzer werden bald keine andere Wahl haben.

Die Unterschiede zwischen ODBC und OLEDB

Sei bei mir, es wird sehr technisch. Um das Lesen zu erleichtern, habe ich die Informationen in einer Tabelle enthalten.

Diese Tabelle basiert auf Informationen aus einem technischen Whitepaper von ftp. sas. com

ODBC OLEDB
Ursprünglich für relationale Datenbanken entwickelt. (seit geändert) Ursprünglich für nicht relationale und relationale Datenbanken gedacht.
Laufende Unterstützung für SQL SQL-Unterstützung void 2019
Component-basiert Procedural-basiert
Schwieriger zu implementieren Einfacher zu implementieren

Das bringt es auf den Punkt . Ich hoffe, dass Sie jetzt den Unterschied zwischen ODBC und OLEDB besser verstehen. Wenn Sie dies nicht tun, habe ich Ihnen nachstehend eine weitere Lektüre sowie einen Link zu dem oben genannten technischen Artikel zur Verfügung gestellt.

Wenn Sie Erfahrung mit diesen beiden APIs haben, lassen Sie es uns in den Kommentaren wissen. Haben wir etwas falsch gemacht? Kannst du den Neulingen etwas hinzufügen?

Wir würden uns freuen, von Ihnen in den Kommentaren zu hören.

Glossar

ODBC: Datenbank öffnen Verbinden

OLE DB: Objekt Verknüpfen und Einbetten Datenbank

OS: Betriebssystem (wie Windows)

API: Anwendungsprogrammierschnittstelle

Relationale Datenbank: Ein Satz von Datenelementen, die in Tabellen sortiert sind. Auf die Datenelemente kann zugegriffen werden und sie können wieder zusammengesetzt werden, ohne die Datenbanktabellen neu zu organisieren.

Nicht-relationale Datenbank: Befolgt nicht den relationalen Standard. Auch bekannt als NoSQL-Datenbank.

Weiter lesen

Link zu (veraltet - siehe oben, OLEDB verliert SQL-Funktionalität) Whitepaper: // ftp. sas. com / techsup / herunterladen / v8papers / odbcdb. pdf

Relationale vs. Nicht-relationale Datenbank: // www. Mongodb. com / scale / relationale vs non-relational-Datenbank

Benutzermeinungen zu ODBC vs. OLEDB: // community. qlik. com / thread / 106540 ​​