ODBC gegen ADO
In der Regel werden Softwareanwendungen in einer bestimmten Programmiersprache (z. B. Java, C # usw.) geschrieben, während Datenbanken Abfragen in einer anderen datenbankspezifischen Sprache (z. B. SQL) akzeptieren. Wenn eine Softwareanwendung auf Daten in einer Datenbank zugreifen muss, ist daher eine Schnittstelle erforderlich, die Sprachen ineinander übersetzen kann (Anwendung und Datenbank). Andernfalls müssen Anwendungsprogrammierer datenbankspezifische Sprachen lernen und in ihre Anwendungen integrieren. ODBC (Open Database Connectivity) und OLE DB (Object Linking and Embedding, Database) sind zwei Schnittstellen, die dieses spezielle Problem lösen. ODBC ist eine plattform-, sprach- und betriebssystemunabhängige Schnittstelle, die für diesen Zweck verwendet werden kann. OLE DB ist ein Nachfolger von ODBC. ADO ist ein Wrapper für OLE DB.
Was ist ODBC?
ODBC ist eine Schnittstelle für den Zugriff auf Datenbankverwaltungssysteme (DBMS). ODBC wurde 1992 von der SQL Access Group zu einer Zeit entwickelt, als es kein Standardmedium für die Kommunikation zwischen einer Datenbank und einer Anwendung gab. Es hängt nicht von einer bestimmten Programmiersprache oder einem Datenbanksystem oder einem Betriebssystem ab. Programmierer können die ODBC-Schnittstelle verwenden, um Anwendungen zu schreiben, die Daten aus jeder Datenbank abfragen können, unabhängig von der Umgebung, in der sie ausgeführt werden, oder dem Typ des verwendeten DBMS.
Da der ODBC-Treiber als Übersetzer zwischen der Anwendung und der Datenbank fungiert, kann ODBC die Sprach- und Plattformunabhängigkeit erreichen. Dies bedeutet, dass die Anwendung nicht mehr die datenbankspezifische Sprache kennt. Stattdessen kennt und verwendet es nur die ODBS-Syntax und der Treiber übersetzt die Abfrage in einer verständlichen Sprache in die Datenbank. Anschließend werden die Ergebnisse in einem Format zurückgegeben, das von der Anwendung verstanden werden kann. Die ODBC-Software-API kann sowohl mit relationalen als auch mit nicht relationalen Datenbanksystemen verwendet werden. Ein weiterer großer Vorteil von ODBC als universelle Middleware zwischen einer Anwendung und einer Datenbank besteht darin, dass die Software bei jeder Änderung der Datenbankspezifikation nicht aktualisiert werden muss. Nur ein Update des ODBC-Treibers wäre ausreichend.
Was ist ADO?
ADO ist eine Sammlung von COM-Objekten (Component Object Mode), die als Schnittstelle für den Zugriff auf Daten in Datenquellen dienen. ADO wurde 1996 von Microsoft als Teil der Microsoft Data Access Components (MDAC) entwickelt. ADO bildet eine Middleware-Schicht zwischen Anwendungen, die in einer Programmiersprache geschrieben sind, und OLE DB (einer von Microsoft und dem Nachfolger von ODBC entwickelten Daten-API). Programmierer können ADO verwenden, um auf Daten zuzugreifen, ohne die zugrunde liegenden Implementierungsdetails der Datenbank zu kennen. Obwohl Sie kein SQL kennen müssen, um ADO zu verwenden, können Sie SQL-Anweisungen auf jeden Fall damit ausführen.
Was ist der Unterschied zwischen ODBC und ADO?
ODBC ist eine offene Schnittstelle, die von jeder Anwendung zur Kommunikation mit jedem Datenbanksystem verwendet werden kann, während ADO ein Wrapper für OLE DB ist (der Nachfolger von ODBC). Wenn die Datenbank kein OLE (Nicht-OLE-Umgebungen) unterstützt, ist ODBC die beste Wahl. Wenn die Umgebung nicht SQL ist, müssen Sie ADO verwenden (da ODBC nur mit SQL funktioniert). Wenn interoperable Datenbankkomponenten erforderlich sind, muss ADO anstelle von ODBC verwendet werden. Für den 16-Bit-Datenzugriff ist jedoch ODBC die einzige Option (ADO unterstützt kein 16-Bit). Schließlich ist ADO die beste Wahl, um gleichzeitig eine Verbindung zu mehreren Datenbanken herzustellen (ODBC kann jeweils nur eine Verbindung zu einer Datenbank herstellen).