Unterschied zwischen OLEDB und ODBC

ODBC gegen OLEDB

Wenn Sie wissen, was sie sind, sind Sie wahrscheinlich ein Entwickler. Wenn Sie nicht wissen, was sie sind, aber wissen möchten, sind Sie wahrscheinlich ein zukünftiger Entwickler.

Wegen des technischen Charakters dieses Vergleichs habe ich am Ende des Artikels ein Glossar mit Begriffen hinzugefügt. Wenn Sie mit dieser Art von Sachen noch nicht vertraut sind, möchten Sie vielleicht zuerst einen Blick darauf werfen.

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

Begriffe definieren

ODBC-Treiberarchitektur

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

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

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

ODBC erschien 1992, um dieses Problem zu lösen.

ODBC wurde ursprünglich für SQL (Structured Query Language) erstellt. Es wurde inzwischen erweitert, um weitere Programmiersprachen zu beherrschen.

OLE BD ist eine 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-Funktionen (wie ODBC) und viele andere Sprachen.

OLE BD wurde als Nachfolger von ODBC festgelegt, aber die Dinge änderten sich…

ODBC vs. OLEDB

ODBC konzentrierte sich anfangs auf SQL, und wenn Sie SQL verwenden, ist es sinnvoll, mit ODBC zu arbeiten. Die offensichtliche Wahl war früher OLEDB. Wie Sie jedoch später in diesem Artikel erfahren werden, wurde die letzte SQL-Version zur Unterstützung von OLEDB im Jahr 2012 gestartet.

Diese Strategieänderung von Microsoft hat einige Überraschungen ausgelöst. Viele hartnäckige Benutzer klammerten sich so lange an ODBC, so dass der Umzug Sinn machte. Es gab auch die Tatsache, dass ODBC expandierte.

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

Im Kern handelt es sich um unterschiedliche APIs für unterschiedliche Datenquellen.

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

Aktueller Support

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 wesentlicher Treiber für den Strategiewechsel von Microsoft ist.

Entwickler müssen sich anpassen

Die oben genannte SQL-Version (denali) wurde mit einer siebenjährigen Unterstützung für OLEDB geliefert. Dies bedeutet, dass die Entwickler beim Schreiben nur noch zwei Jahre Zeit haben, sich anzupassen.

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

Die Unterschiede zwischen ODBC und OLEDB

Tragen Sie mit mir, es geht darum, sehr technisch zu werden. Zur besseren Lesbarkeit habe ich die Informationen in einer Tabelle enthalten.

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

ODBC OLEDB
Ursprünglich für relationale Datenbanken konzipiert. (seitdem geändert) Ursprünglich für nicht relationale und relationale Datenbanken konzipiert.
Laufende Unterstützung für SQL SQL-Unterstützung ungültig 2019
Komponentenbasiert Verfahrensbezogen
Schwieriger zu implementieren Einfachere Bereitstellung

Das fasst es einfach zusammen. Ich hoffe, Sie haben jetzt einen besseren Überblick über den Unterschied zwischen ODBC und OLEDB. Wenn Sie dies nicht tun, habe ich weiter unten einige Lektüre sowie einen Link zu dem oben genannten technischen Artikel gegeben.

Wenn Sie Erfahrung mit der Verwendung dieser beiden APIs haben, teilen Sie uns dies bitte in den Kommentaren mit. Haben wir etwas falsch gemacht? Gibt es etwas, was du für die Neulinge da draußen hinzufügen könntest??

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

Glossar

ODBC: Datenbankverbindung herstellen

OLE DB: Objektverknüpfungs- und Einbettungsdatenbank

Betriebssystem: Betriebssystem (wie Windows)

API: Anwendungsprogrammierschnittstelle

Relationale Datenbank: Eine Gruppe von Datenelementen, die in Tabellen sortiert sind. Auf die Datenelemente kann zugegriffen und erneut zusammengestellt werden, ohne die Datenbanktabellen neu zu organisieren.

Nicht relationale Datenbank: Nicht dem relationalen Standard folgen. Auch als NoSQL-Datenbank bekannt.

Lesen Sie weiter

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

Relationale oder nichtrelationale Datenbank: https://www.mongodb.com/scale/relational-vs-non-relational-database

User Meinungen zu ODBC vs. OLEDB: https://community.qlik.com/thread/106540