ODBC vs. ADO
Normalerweise werden Softwareanwendungen in einer bestimmten Programmiersprache (wie Java, C usw.) geschrieben, während Datenbanken Abfragen in einer anderen datenbankspezifischen Sprache (wie SQL) akzeptieren. Wenn also eine Softwareanwendung auf Daten in einer Datenbank zugreifen muss, ist eine Schnittstelle erforderlich, die Sprachen ineinander (Anwendung und Datenbank) übersetzen kann. 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 spezifische 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 Datenbankverw altungssysteme (DBMS). ODBC wurde 1992 von der SQL Access Group entwickelt, als es noch kein Standardmedium für die Kommunikation zwischen einer Datenbank und einer Anwendung gab. Es ist nicht abhängig von einer bestimmten Programmiersprache oder einem Datenbanksystem oder einem Betriebssystem. 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 wird, oder dem verwendeten DBMS-Typ.
Da der ODBC-Treiber als Übersetzer zwischen der Anwendung und der Datenbank fungiert, ist ODBC in der Lage, die Sprach- und Plattformunabhängigkeit zu erreichen. Dies bedeutet, dass die Anwendung von der Last entlastet wird, die datenbankspezifische Sprache zu kennen. Stattdessen kennt und verwendet er nur die ODBS-Syntax, und der Treiber übersetzt die Abfrage in die Datenbank in eine Sprache, die er versteht. Anschließend werden die Ergebnisse in einem für die Anwendung verständlichen Format zurückgegeben. 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 jedes Mal, wenn sich die Datenbankspezifikation ändert, die Software nicht aktualisiert werden muss. Lediglich ein Update des ODBC-Treibers würde ausreichen.
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 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 keine SQL-Kenntnisse benötigen, um ADO zu verwenden, können Sie sicherlich SQL-Anweisungen damit ausführen.
Was ist der Unterschied zwischen ODBC und ADO?
ODBC ist eine offene Schnittstelle, die von jeder Anwendung verwendet werden kann, um mit jedem Datenbanksystem zu kommunizieren, während ADO ein Wrapper um OLE DB (der Nachfolger von ODBC) ist. 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, um sich mit mehreren Datenbanken gleichzeitig zu verbinden (ODBC kann sich nur mit jeweils einer Datenbank verbinden).