31.2 Die Datenprovider
Die erste Frage, die es zu klären gilt, ist die, aus welcher Datenquelle die Daten bezogen werden sollen. Damit entscheidet sich auch, welcher Datenprovider zum Einsatz kommt. Das .NET Framework stellt vier zur Verfügung:
Ein Datenprovider ist eine Klassenbibliothek, die für den Zugriff auf einen bestimmten Datenspeichertyp geprägt ist. Jeder .NET-Datenprovider implementiert dabei die gleichen Klassen, beispielsweise Connection, Command oder DataAdapter. Der tatsächliche Name hängt vom gewählten Provider ab. So bietet der SqlClient-Provider beispielsweise die Klasse SqlConnection an und der OleDb-Datenprovider die Klasse OleDbConnection. Unabhängig davon, für welchen Datenprovider Sie sich entscheiden, bleiben die Schnittstellen und damit die Funktionalitäten gleich. Nahezu unabhängig von der Providerwahl ist auch der Programmcode. Sollten Sie gezwungenermaßen zu einem späteren Zeitpunkt den Provider wechseln, brauchen Sie möglicherweise den Programmcode überhaupt nicht oder nur geringfügig zu überarbeiten.
Häufig sind Sie nicht auf einen einzigen Datenprovider festgelegt, sondern können für den Zugriff auf eine Datenquelle zwischen mehreren auswählen. Ist die Datenquelle ein Microsoft SQL Server in der Version 7.0 oder höher, empfiehlt sich der SqlClient-Datenprovider, weil dieser für die genannten Versionen des SQL Servers optimiert ist. Aber auch über den OleDb- oder Odbc-Provider kann der SQL Server abgefragt werden.
Jeder .NET-Datenprovider hat einen eigenen Namespace, der ein Unter-Namespace von System.Data ist und mit using bekannt gegeben werden sollte. Beabsichtigen Sie den Zugriff auf eine Oracle-Datenbank mit dem Oracle-Provider, müssen Sie die Assembly System.Data.OracleClient.dll in die Anwendung einbinden.
In den Beispielen dieses Kapitels werden wir ausschließlich den SqlClient-Datenprovider benutzen.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.