12.2 Wie ADO.NET funktioniert – ein Überblick
 
Das herkömmliche ADO funktionierte nach dem Client-Server-Schema. Für die Kommunikation mit den Clients wurden Verbindungen zum Server etabliert und während der gesamten Kommunikation offen gehalten.
ADO.NET basiert auf einem unverbundenen Modell. Im Prinzip läuft die Kommunikation mit einem Datenbankserver unter ADO.NET so ähnlich ab wie die Kommunikation mit einem Webserver. Der Webserver liefert auf Anfrage die Daten, verwaltet aber keine Verbindung. Dieses unverbundene Modell ist besser skalierbar als die herkömmlichen verbindungsorientierten Ansätze. Es ist besser für die effiziente Entwicklung mehrschichtiger Applikationen geeignet.
Es gibt verschiede Möglichkeiten, Daten zu speichern. Man kann Daten in relationalen Datenbanken, aber auch im XML-Format ablegen. ADO.NET kann mit ganz unterschiedlichen Datenformaten umgehen. Dafür trennt ADO.NET die Repräsentation der Daten in Objekten, mit denen der Entwickler sie bearbeiten kann, vom Aspekt der Speicherung der Daten in einem speziellen Datenformat.
Für die Bearbeitung von Daten steht die DataSet-Klasse zur Verfügung. Ein DataSet-Objekt enthält eine Auflistung von Tabellen in Form von DataTable-Objekten. Detaillierte Informationen zu den Tabellen liefern unter anderem die Klassen DataRow, DataColumn und Relation.
Sämtliche Aspekte, bei denen in der einen oder anderen Weise das Format der Daten berücksichtigt werden muss, werden von den .NET-Datenprovidern geleistet. .NET-Datenprovider bestehen aus vier Objekten:
|
Ein Connection-Objekt stellt die Verbindung zu einer Datenquelle her. |
|
Ein Command-Objekt führt einen Befehl für eine Datenquelle aus, z. B. ein SQL-Kommando oder eine gespeicherte Prozedur. |
|
Ein DataReader-Objekt liest Daten vorwärtsgerichtet aus der Datenquelle. |
|
Ein DataAdapter-Objekt füllt die Daten in ein DataSet-Objekt und schreibt Änderungen in die Datenquelle zurück. |
.NET enthält zwei Datenprovider:
|
den SQL-Server-.NET-Datenprovider. Dessen Klassen befinden sich im System.Data.SqlClient-Namespace. Dieser Provider unterstützt den MS SQL Server ab Version 7.0 und auch die Microsoft Data Engine MSDE. Frühere Versionen des SQL Servers müssen den OLE-DB-.NET-Datenprovider verwenden, |
|
den OLE-DB-.NET-Datenprovider. Diese Klassen liegen im Namespace System.Data.OleDb. |
Für beide Datenprovider ist die Installation von Microsoft Data Access Components (MDAC), Version 2.6 oder höher, erforderlich.
Wenn Sie auf eine ODBC-Datenquelle zugreifen möchten, stellt Microsoft unter http://msdn.microsoft.com/downloads einen entsprechenden Download zur Verfügung.
Das DataSet-Objekt selbst weiß nichts davon, in welcher Form die Daten gespeichert werden sollen. Es kann seine Daten für die Speicherung in relationalen Datenbanken oder für die Speicherung im XML-Format zur Verfügung stellen.
Mit Hilfe eines XmlDataDocument-Objekts können Sie auf ein DataSet sogar doppelt zugreifen: teilweise so, als wären es relationale Daten, und teilweise so, als wären es XML-Daten.
|