ActiveX Data Objects

Programmierschnittstelle
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 7. Dezember 2005 um 22:45 Uhr durch Heinte (Diskussion | Beiträge) (Grundlegendes: R). Sie kann sich erheblich von der aktuellen Version unterscheiden.

ActiveX Data Objects (ADO) [ˌæktɪvˈɛks ˈdeɪtəˌɑːbdʒɪkts] ist eine auf ActiveX basierende Schnittstelle zum Datenzugriff auf Datenbanken und tabellenartigen Datenquellen wie z.B. Excel Arbeitsblätter und CSV Dateien.

Grundlegendes

ADO ist der Nachfolger von DAO (Data Access Objects). Mit ADO lassen sich nahezu alle gebräuchlichen Datenbanken ansprechen, wie z.B. Microsoft Access, SQL-Server, Oracle oder Informix.

Das ADO-Datenmodell besteht aus den 3 wichtigsten Komponenten:

  • Connection ("Verbindung"): Muß den Ort und den Namen der angesprochenen Datenbank beinhalten und braucht für eine angesprochene Datenbank nur einmal definiert zu werden.
  • Recordset ("Datensatz-Objekt"): Der Verbindung untergeordnetes und abhängiges Objekt das Daten in Form von Tabellen oder Abfragen zurückgibt.
  • Command ("Befehls-Objekt"): Das Command-Objekt benötigt keine Connection. Damit lässt sich die Datenbank mit Befehlen wie z.B. UPDATE, CREATE TABLE, INSERT INTO, usw. ändern.

Der Datenbankzugriff mit ADO weist gegenüber dem Vorgänger (DAO) wesentliche Verbesserungen in der Performance auf. Der Grund liegt bei DAO in der Verwendung der ODBC-Schnittstelle. Für die Festlegung des Datenbankzugriffs wird der OLE DB-Provider benötigt, der zur Neuerung von ADO gehört. Mit Hilfe des Providers kann dem Connection-Objekt mitgeteilt werden, auf welche Datenbank zugegriffen werden soll und um welche Version es sich dabei handelt.

Der Wert wird dabei als String angegeben. Beispiel: "Microsoft.Jet.OLEDB.4.0" für Access 2000.

ADO wird auch im Zusammenhang mit ASP für den Datenbankzugriff verwendet. Nachfolgend ein Beispiel, wie der Aufbau der Connection und die Erstellung eines Recordsets aussehen kann.

 sMDB = Server.MapPath("DB/Datenbank.mdb")
 set Conn = server.CreateObject("adodb.connection")
 Conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & sMDB
 Set Rec = Server.CreateObject("ADODB.Recordset")
 Rec.Open SQL, Conn, 3

Wobei dies nur eine Variante von mehreren darstellt.

Die Datenverknüpfungseigenschaften können auch in einer externen UDL-Datei gespeichert werden. Hierzu wird einfach ein neu erstelltes Textfile umbenannt.

Beispiel: Test.udl

Mit Doppelklick auf diese Datei öffnet sich das Dialogfeld "Datenverknüpfungseigenschaften". Damit eine Verbindung mit Hilfe dieses Files hergestellt werden kann, wird der Pfad der ConnectionString-Eigenschaft zugewiesen. Diese Vorgehensart wird jedoch meist bei der Programmierung von Applikationen in VB, VC++ und anderen Umgebungen verwendet.

ADO unterstützt außerdem Batch-Updates.

Mit Einführung der .NET Technologie wurde ADO zu ADO.NET was trotz des Namens eher als komplettes Neudesign denn als Evolutionsschritt zu betrachten ist. ADO.NET legt den Schwerpunkt auf sogenannte Disconnected-Szenarios bei denen die Verbindung zur Datenbank immer nur so kurz wie möglich aufrecht erhalten werden soll. Ein ähnliches Prinzip war unter ADO mit den Disconnected Recordsets möglich.

Siehe auch

ADO Extention