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, mit der Sprachen (Anwendung und Datenbank) ineinander übersetzt werden können. Andernfalls müssen Anwendungsprogrammierer datenbankspezifische Sprachen in ihre Anwendungen einbinden. 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 Betriebssystem-unabhängige Schnittstelle, die zu diesem 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 zum Zugriff auf Datenbankverwaltungssysteme (DBMS). ODBC wurde 1992 von der SQL Access Group entwickelt, als es kein Standardmedium für die Kommunikation zwischen einer Datenbank und einer Anwendung gab. Es ist nicht von einer bestimmten Programmiersprache oder einem Datenbanksystem oder einem Betriebssystem abhängig. Programmierer können mithilfe der ODBC-Schnittstelle Anwendungen schreiben, die Daten aus beliebigen Datenbanken abfragen können, unabhängig von der Umgebung, in der sie ausgeführt wird, oder vom verwendeten DBMS-Typ.
Da der ODBC-Treiber als Übersetzer zwischen Anwendung und Datenbank fungiert, kann ODBC die Sprach- und Plattformunabhängigkeit erreichen. Dies bedeutet, dass die Anwendung von der Kenntnis der datenbankspezifischen Sprache entlastet wird. Stattdessen kennt und verwendet sie nur die ODBS-Syntax, und der Treiber übersetzt die Abfrage in einer für sie verständlichen Sprache in die Datenbank. Dann werden die Ergebnisse in einem Format zurückgegeben, das von der Anwendung verstanden werden kann. 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 bestimmten Programmiersprache geschrieben sind, und OLE DB (einer von Microsoft entwickelten Daten-API und dem Nachfolger von ODBC). Programmierer können mit ADO auf Daten zugreifen, ohne die zugrunde liegenden Implementierungsdetails der Datenbank zu kennen. Obwohl Sie für die Verwendung von ADO keine SQL-Kenntnisse benötigen, können Sie durchaus SQL-Anweisungen ausführen.
Was ist der Unterschied zwischen ODBC und ADO??
ODBC ist eine offene Schnittstelle, die von jeder Anwendung für die Kommunikation mit einem Datenbanksystem verwendet werden kann, während ADO ein Wrapper für OLE DB ist (der Nachfolger von ODBC). Wenn die Datenbank OLE (Nicht-OLE-Umgebungen) nicht 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 16-Bit-Daten ist der Zugriff auf ODBC jedoch die einzige Option (ADO unterstützt 16-Bit nicht). Schließlich ist ADO die beste Wahl für das gleichzeitige Verbinden mit mehreren Datenbanken (ODBC kann nur eine Verbindung zu jeweils einer Datenbank herstellen)..