ADO.NET - eine Einführung
Veröffentlicht: 04. Mrz 2004 | Aktualisiert: 15. Nov 2004
Von Jürgen Mauerer
ADO.NET ist die Datenbank-Schnittstelle des .NET-Framework. Sie ermöglicht den objektorientierten Zugriff auf relationale Datenbanken und hierarchische XML-Informationen. Dieses Feature zeigt, worauf Sie achten müssen, wenn Sie unter .NET den Zugriff auf Datenbanken implementieren wollen.
Unter .NET auf Datenbanken zugreifen
ADO.NET ist der Nachfolger von ADO (ActiveX Data Object). Trotz der Ähnlichkeit des Namens ist der Sprung bei der Technologie enorm. So fällt bei ADO.NET die Zweiteilung in die Programmierschnittstellen ADO und OLEDB weg, es gibt nur noch eine universelle Schnittstelle für alle .NET-Sprachen. Geändert hat sich auch das Objektmodell. An die Stelle der ADO-RecordSet-Klasse treten jetzt die Klassen DataSet, DataTable und DataReader.
Zentrales Element ist das DataSet, das mehrere Tabellen aufnimmt und verknüpft sowie auch hierarchische Beziehungen zwischen den enthaltenen Tabellen herstellen kann. Es entspricht damit einer Mischung aus dem relationalen und dem hierarchischen Datenbank-Modell. Das DataSet arbeitet wie ein Cache-Speicher und schreibt geänderte Daten wieder in die Datenquellen zurück.
Der Zugriff auf die Daten erfolgt über so genannte .NET Data Provider (Managed Provider), sprich einer Art Treiber für unterschiedliche Datenquellen. Zum Einlesen der Informationen ist eine eigene Klasse nötig, ein so genannter DataAdapter, der in jedem Data Provider speziell für die jeweilige Datenquelle implementiert ist (z.B. OLEDB, SQL). Die DataAdapter stellen die Verbindung zu den tatsächlichen Datenbanken her, füllen das DataSet mit Informationen oder schreiben veränderte Datensätze zurück. Wichtig: ADO.NET trennt die Verbindung zur Datenquelle nach dem Einlesen der Daten.
Da ein DataSet auch XML lesen und bearbeiten kann, ist das Einlesen von XML-Dateien in eine Datenbank unproblematisch. Dank XML ist es auch möglich, Daten via HTTP und SOAP zu transportieren. Ein DataSet kann damit auch Informationen durch eine Firewall schleusen. Dies war beim klassischen ADO, das COM-Marshalling verwendet, nur mit großem Aufwand möglich.
Merkmale von ADO.NET
Erste Schritte mit ADO.NET
ADO.NET: Spezielle Fragestellungen