Ado.net

ADO.NET ist ein Teil der von Microsoft entwickelten .NET-Plattform. Es handelt sich um eine Sammlung von Klassen, die den Zugriff auf relationale Datenbanken gewährleisten.

ADO.NET gilt als Nachfolger der ActiveX Data Objects (ADO), ist aber um zahlreiche Funktionen erweitert worden, so dass man von einer Neuentwicklung sprechen kann.

Inhaltsverzeichnis

Aufgaben

Aufgabe der Klassen (die sich im Namensraum System.Data befinden) ist die Datenbankanbindung und Datenhaltung im Arbeitsspeicher. Dazu existieren Klassen, die Verbindung zu einer Datenbank (Microsoft SQL Server, Oracle etc) herstellen (sogenannte Connection-Klassen), Klassen, die Tabellen im Arbeitsspeicher repräsentieren, und es ermöglichen, mit ihnen zu arbeiten (sogenannte DataTables) und Klassen, die für gesamte Datenbanken im Arbeitsspeicher stehen (sogenannte DataSets).

Andere Klassen regeln die Anbindung an eine Datenbank. Für die Anbindung an die physische Datenbank existieren sogenannte DataProvider. Die Datenbanken können auf XML-Format abgebildet werden, weshalb es Klassen zum direkten Zugriff auf XML im Namensraum System.Xml gibt.

Architektur von ADO.NET

Das Hauptanliegen von ADO.NET besteht darin, die Datenbeschaffung von der Bereitstellung und Anzeige der Daten vollständig zu trennen. Um dieses Ziel zu erreichen, spaltet sich ADO.NET in die drei Hauptkomponenten DataSet, Datenprovider und die Klassen der Datenbindung auf. Letztere stellen allerdings keinen integralen Bestandteil von ADO.NET dar, stattdessen dienen sie der Anbindung der Steuerelemente an ein DataSet.

Datenprovider

Der Datenprovider ist die Schnittstelle zu einer Datenbank. Er muss fachliche Informationen über die Datenbank besitzen, d.h. er muss die Datenbank kennen. Für unterschiedliche Datenbanken existieren individuelle Datenprovider. Im .NET Framework sind die Datenprovider SQL Server und OLE DB standardmäßig enthalten. Auch für viele Open-Source-Datenbanken, wie z.B. MySQL, existieren .NET-Datenprovider.

Die vier Kernkomponenten der .NET-Datenprovider sind:

  • Connection: Stellt eine Verbindung her, die der Kommunikation mit einer Datenquelle dient. Seit .NET 2.0 ist es möglich bei der Verbindung umfangreiche Metadaten zur Datenbank zu laden.
  • Command: Führt Anweisungen, gespeicherte Prozeduren und Aktionsabfragen aus. Dazu gehören unter anderem SELECT-, UPDATE- oder DELETE-Kommandos.
  • DataAdapter: Der DataAdapter füllt ein DataSet mit Daten und gleicht Aktualisierungen mit der Datenquelle ab. Er fungiert als Brücke zwischen der Datenquelle und einem DataSet-Objekt.
  • DataReader: Es handelt sich um einen vorwärts gerichteten Datensatzleser, der nur einen lesenden Zugriff auf die Daten gestattet. Eine Navigation durch die Datensätze ist dabei nicht möglich, da diese sequentiell abgearbeitet werden.

DataSet

Ein DataSet repräsentiert die speicherresidente, relationale Datenbank in der eigentlichen Anwendung. Es handelt sich dabei um ein Speicherabbild der eigentlichen Datenbank. Ein DataSet wird immer dann eingesetzt, wenn Daten mehrmals benötigt und von der Anwendung geändert werden. In diesem Fall werden die Daten über den DataAdapter im DataSet gespeichert, wo sie der Anwendung zur weiteren Verwendung zur Verfügung stehen.

Die wichtigsten Klassen des DataSet sind:

  • DataSet: Diese Klasse repräsentiert ein logisches Schema. Das Datenbankschema verwaltet Beziehungen zwischen den in der Klasse enthaltenen Tabellen und sorgt dafür, dass die Datenbank relational ist.
  • DataTable: Das DataTable-Objekt stellt eine Datenbanktabelle dar. Es handelt sich um einen Datenspeicher mit Datensätzen und Spalten.
  • DataRow: Die DataRow-Klasse repräsentiert einen konkreten Datensatz in einer DataTable. Eine DataRow-Instanz ist stets an ein DataTable-Objekt gebunden.
  • DataView: Dient zum Filtern (z.B. WHERE) und Sortieren (z.B. ORDER BY) von Daten in einer DataTable. Über eine DataView kann eine spezielle Sicht auf die Daten einer Tabelle angelegt werden.

Einschränkungen

In ADO.NET 1.x konnte zu bestimmten Zeitpunkten pro Verbindung nur ein Datenbankbefehl aktiv sein, beispielsweise ein DataReader lesend auf die Datenbank zugreifen. Versuche eines parallelen Zugriffs waren nicht möglich und führten zu Fehlermeldungen. Diese Architektur kann als Single Active Result Sets (SARS) bezeichnet werden.

ADO.NET 2.0 unterstützt hingegen Multiple Active Result Sets (MARS), also die Mehrfachverwendung einer Verbindung. MARS ist für den SQL Server 2005 und 2008 verfügbar und dort im Standard deaktiviert.

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • ADO.NET — is a set of computer software components that can be used by programmers to access data and data services. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and …   Wikipedia

  • ADO.NET — часть фреймфорка .NET, предоставляющая доступ к данным для приложений, основанных на Microsoft .NET. Не является развитием более ранней технологии ADO, а является самостоятельной технологией. Классы ADO.NET находятся в сборке System.Data.dll… …   Википедия

  • ADO.NET — ist ein Teil der von Microsoft entwickelten .NET Plattform. Es handelt sich um eine Sammlung von Klassen, die den Zugriff auf relationale Datenbanken gewährleisten. ADO.NET gilt als Nachfolger der ActiveX Data Objects (ADO), hat aber nichts mit… …   Deutsch Wikipedia

  • ADO.NET — El ADO.NET es un conjunto de componentes del software que pueden ser usados por los programadores para acceder a datos y a servicios de datos. Es una parte de la biblioteca de clases base que están incluidas en el Microsoft .NET Framework. Es… …   Wikipedia Español

  • ADO.NET — ActiveX Data Objects Pour les articles homonymes, voir ADO. ActiveX Data Object ou ADO est une technologie Microsoft fournissant une interface d accès aux données dans l environnement Windows. Elle permet aux programmes clients d accéder aux… …   Wikipédia en Français

  • ADO.NET — ActiveX Data Object (Computing » Software) …   Abbreviations dictionary

  • ADO.NET Entity Framework — is an object relational mapping (ORM) framework for the .NET Framework. This framework is Microsoft s first ORM offering for the .NET Framework. While Microsoft provided objects to manage the Object relational impedance mismatch (such as a… …   Wikipedia

  • ADO.NET Entity Framework — в составе .NET Framework ADO.NET Entity Framework (EF)  объектно ориентированная технология доступа к данным, является object relational mapping (ORM) решением для .NET Framework от M …   Википедия

  • ADO.NET Data Services — (codename Astoria ) [cite web | url = http://blogs.msdn.com/data/archive/2007/12/10/ado net data services ctp released.aspx | title = ADO.NET Data Services CTP Released! | accessdate = 2007 11 12] is a platform for what Microsoft calls Data… …   Wikipedia

  • ADO.NET Data Services — (под кодовым название «Astoria»)  платформа для Microsoft Data Services, нацеленная, в первую очередь, на использование таких современных технологий, как Ajax и Silverlight. Цель ADO.NET Data Services состоит в том, чтобы представить данные… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”