ODBC (Open Database Connectivity)
1992 wurde die Microsoft Corporation als integraler Bestandteil der Windows Open Services Architecture (WOSA) für Datenbanken gegründet, die eine Reihe von Spezifikationen aufstellte und eine Reihe von Standard-APIs (Application Programming Interfaces) für den Datenbankzugriff bereitstellte. Diese APIs nutzen SQL, um die meisten ihrer Aufgaben zu erfüllen. ODBC selbst unterstützt auch die SQL-Sprache, und Benutzer können SQL-Anweisungen direkt an ODBC senden. --- die früheste, aber nicht immer allmächtige. ODBC (Open DataBase Connectivity) ist eine von Microsoft empfohlene Anwendungsprogrammierschnittstelle (API), die derzeit in der Branche weithin für den Datenbankzugriff anerkannt ist, basierend auf den X/Open- und ISO/IEC-Call-Level Interface (CLI)-Spezifikationen und die Structured Query Language (SQL) als Datenbankzugriffssprache verwendet. Die Gesamtstruktur von ODBC besteht aus vier Komponenten:
A. Anwendung: Prozesse ausführen und ODBC-API-Funktionen aufrufen, um SQL-Anweisungen zu senden und Ergebnisse abzurufen. B. Treiber-Manager: Treiber entsprechend den Anforderungen der Anwendung laden/deinstallieren, ODBC-Funktionsaufrufe übernehmen oder auf den Treiber übertragen. C. Treiber: Verarbeitet ODBC-Funktionsaufrufe, übermittelt SQL-Anfragen an eine bestimmte Datenquelle und gibt die Ergebnisse an die Anwendung zurück. Falls nötig, ändert der Treiber die Programmanfrage, um die Anfrage an die vom jeweiligen DBMS unterstützte Syntax anzupassen. D. Datenquelle: einschließlich der Daten, auf die der Benutzer und sein zugehöriges Betriebssystem, DBMS sowie die Netzwerkplattform zugreifen, die zum Zugriff auf das DBMS verwendet werden.
DAO (Data Access Object)
1993 führte Microsoft die Microsoft Jet-Datenbank-Engine vor (ursprünglich für Microsoft Access verwendet und unterstützt heute andere Datenbanken) und ermöglicht es Entwicklern, sich direkt mit Access-Tabellen zu verbinden, wie sie es auch mit anderen Datenbanken über ODBC tun. DAOs eignen sich am besten für Einzelsystemanwendungen oder kleine, lokal verteilte Anwendungen. Der Zugriff auf die Jet-Datenbank wurde intern optimiert und ist einfach zu bedienen. Daher wird empfohlen, wenn die Datenbank eine Access-Datenbank ist und lokal verwendet wird, diese Zugriffsmethode --- der Spezifität der Anwendung zu verwenden.
RDO (Remote Data Objects)
1995 war RDO eine objektorientierte Datenzugriffsschnittstelle zu ODBC, die mit einem benutzerfreundlichen DAO-Stil kombiniert wurde, um eine Schnittstelle zu bieten, die alle zugrundeliegenden Funktionen und Flexibilität von ODBC zeigte. Obwohl RDO in Bezug auf guten Zugriff auf Jet- oder ISAM-Datenbanken eingeschränkt ist, kann es nur über bestehende ODBC-Treiber auf relationale Datenbanken zugreifen. RDO hat sich jedoch als die beste Schnittstelle für viele SQL Server-, Oracle- und andere große relationale Datenbankentwickler erwiesen. RDO bietet immer komplexere Objekte, Eigenschaften und Methoden zum Zugriff auf gespeicherte Prozeduren und komplexe Ergebnismengen. --- basiert zweifellos auf ODBC
OLE DB (Objektverknüpfung und Einbettung, Datenbank)
1997 startete Microsoft eine strategische Systemprogrammierschnittstelle zur Verwaltung von Daten innerhalb der gesamten Organisation. OLE DB ist eine offene Spezifikation, die auf der ODBC-Funktionalität aufbaut. ODBC wurde speziell für den Zugriff auf relationale Datenbanken entwickelt, während OLE DB zum Zugriff auf relationale und nicht-relationale Informationsquellen wie Host-ISAM/VSAM- und hierarchische Datenbanken, E-Mail- und Dateisystemspeicher, Text-, Graphen- und Geodaten sowie benutzerdefinierte Geschäftsobjekte verwendet wird. OLE DB definiert eine Reihe von COM-Schnittstellen, die verschiedene Datenbankmanagementsystemdienste kapseln und die Erstellung von Softwarekomponenten zur Implementierung dieser Dienste ermöglichen. OLE DB-Komponenten umfassen Datenanbieter (die Daten enthalten und darstellen), Datenkonsumenten (die Daten verwenden) und Servicekomponenten (die Daten verarbeiten und liefern, wie Abfrageprozessoren und Cursor-Engines). Die OLE DB-Schnittstelle ermöglicht eine reibungslose Integration von Komponenten und ermöglicht es OLE DB-Komponentenherstellern, hochwertige OLE-DB-Komponenten schnell auf den Markt zu bringen. Zusätzlich enthält die OLE DB eine "Brücke" zur Verbindung von ODBC, die eine konsistente Unterstützung für die verschiedenen verwendeten ODBC-Relationaldatenbanktreiber bietet. --- behauptet, ODBC zu ersetzen, ist aber auch mit ODBC kompatibel
ADO (ActiveX Data Object)
1996 wurde ADO der Nachfolger von DAO/RDO. ADO 2.0 ist funktional RDO ähnlicher und weist im Allgemeinen eine ähnliche Mapping-Beziehung zwischen den beiden Modellen auf. ADO "erweitert" das von DAOs und RDOs verwendete Objektmodell, was bedeutet, dass es weniger Objekte, mehr Eigenschaften, Methoden (und Parameter) und Ereignisse enthält. Als aktueller Datenbankzugriffsmodus ist ADO ebenfalls einfach und benutzerfreundlich, weshalb Microsoft deutlich gemacht hat, dass es sich künftig auf ADO konzentrieren und DAO/RDO nicht aktualisieren wird, sodass ADO zum Mainstream der aktuellen Datenbankentwicklung geworden ist. ADO umfasst drei Arten von Datenspeicherung: DSN (Name der Datenquelle), ODBC (Open Data Connection) und OLE DB. Die folgenden Routinen erklären ausführlich die spezifische Umsetzung dieser drei Methoden. --- kann als die Konvergenz von Systemprogrammierschnittstellen wie ODBC und OLEDB sowie das Upgrade von Anwendungsprogrammierschnittstellen wie DAO und RDO bezeichnet werden.
ADO.NET
ist ein standardbasiertes Programmiermodell, das zur Erstellung verteilter Anwendungen für den Datenaustausch verwendet werden kann. In ADO.NET spielen DataSets eine wichtige Rolle, da sie als Kopien einiger Daten in der Datenbank im Speicher dienen. Im Gegensatz zu RecordSets in ADO können DataSets jede Datentabelle enthalten, von der jede verwendet werden kann, um Daten aus einer Datenbanktabelle oder -ansicht darzustellen. Das DataSet befindet sich im Speicher und ist nicht an die ursprüngliche Datenbank gebunden, das heißt, es muss nicht mit der ursprünglichen Datenbank verbunden bleiben. Die zugrunde liegende Technologie, die diese Aufgabe erfüllt, ist XML, das Speicher- und Übertragungsformat, das von DataSets verwendet wird. Während der Laufzeit müssen Daten in einem DataSet zwischen Komponenten wie einem Business Logic Object oder asp.net Webformular ausgetauscht werden. Daten werden von einer Komponente zur anderen in Form einer XML-Datei übertragen, die die Datei in das DataSet-Formular zurücksetzt. Der DataSet-Ansatz ist genau derselbe wie das relationale Datenmodell, da die Protokolle jeder Datenquelle unterschiedlich sind und wir über das richtige Protokoll auf die Datenquelle zugreifen müssen. Einige ältere Datenquellen verwenden das ODBC-Protokoll, andere spätere das OleDb-Protokoll, und heute entstehen noch viele neue Datenquellen, ADO.NET einen gemeinsamen Zugang zu Datenquellen bieten, und für verschiedene Datenquellen werden unterschiedliche Bibliotheken verwendet. Diese Bibliotheken werden Data Providers genannt und sind üblicherweise nach dem Typ der Datenquelle und dem Protokoll benannt
Unterschiede und Verbindungen zwischen ODBC-, DAO-, ADO- und OLEDB-Datenbanken
ODBC ist eine zugrundeliegende Zugriffstechnologie, daher kann die ODBC-API eine Kundenanwendung sein, die die Datenbank von unten nach oben einrichtet und kontrolliert und einige Funktionen erledigt, die fortschrittliche Datenbanktechnologie nicht erledigen kann; Der Nachteil besteht jedoch darin, dass ODBC nur für relationale Datenbanken verwendet werden kann, was den Zugriff auf Objektdatenbanken und andere nicht-relationale Datenbanken mit ODBC erschwert. DAOs bieten einen Mechanismus zur Erstellung und Manipulation von Datenbanken durch prozeduralen Code. Das größte Merkmal ist, dass es einfach mit MICROSOFT JET-Datenbanken zu bedienen ist und eine der besten technischen Schnittstellen für den Betrieb von JET-Datenbanken ist. Und sie wird nicht nur genutzt, um auf diese Datenbank zuzugreifen, sondern auch über DAO-Technologie auf eine Vielzahl von Datenformaten zuzugreifen, von Textdateien bis hin zu großen Hintergrunddatenbanken. ADO ist eine Zugriffsschnittstelle, die auf OLE DB basiert, einer objektorientierten OLE-DB-Technologie, die die Vorteile von OLE DB erbt. Es handelt sich um eine hochrangige Schnittstelle für den Datenbankzugriff.
Die Beziehung zwischen ADO und OLEDB
OLEDB ist eine zugrunde liegende Datenzugriffsschnittstelle. Es wird von Drittanbieter-Treibern, Händlern verwendet, um Anwendungen zu entwickeln, die Datenquellen an ADO-Technologie ausgeben, oder von Entwicklern für C++, um benutzerdefinierte Datenbankkomponenten zu entwickeln. OLE DB ist eine wichtige systemebene Programmierschnittstelle zum Datenzugriff und die grundlegende Technologie von ADO sowie die Datenquelle für ADO.NET. ADO ist eine Zugriffsschnittstelle, die auf OLE DB basiert, einer objektorientierten OLE-DB-Technologie, die die Vorteile von OLE DB erbt. Es handelt sich um eine hochrangige Schnittstelle für den Datenbankzugriff.
Man kann sagen, dass ADO hochrangige Anwendungs-API-Funktionen für OLEDB bereitstellt.
|