23.6 Connection im Überblick
In diesem Abschnitt stelle ich Ihnen alle wichtigen Eigenschaften und Methoden der Klassen DBconnection und SqlConnection vor, die mit dem Aufbau einer Datenbankverbindung in Zusammenhang stehen. Darüber hinaus verfügt die Klassse über Fähigkeiten, die Struktur einer Datenbank zu erkunden. Diesem Thema widmen wir uns aber noch im Kapitel 26, »Offline mit DataSet«.
23.6.1 Vererbungshierarchie
Der folgende Ausschnitt aus der Klassenhierarchie zeigt, dass Sie leicht auf andere Datenbankprovider umsteigen können, wenn Sie sich auf Funktionen von DbConnection und DbConnectionStringBuilder beschränken.
System.Object +System.Data.Common.DbConnectionStringBuilder | +System.Data.Odbc.OdbcConnectionStringBuilder | +System.Data.OleDb.OleDbConnectionStringBuilder | +System.Data.OracleClient.OracleConnectionStringBuilder | +System.Data.SqlClient.SqlConnectionStringBuilder +System.MarshalByRefObject +System.ComponentModel.Component +System.Data.Common.DbConnection +System.Data.Odbc.OdbcConnection +System.Data.OleDb.OleDbConnection +System.Data.OracleClient.OracleConnection +System.Data.SqlClient.SqlConnection +System.Data.SqlServerCe.SqlCeConnection
23.6.2 Ereignisse eines SqlConnection-Objekts
Ereignis | Beschreibung |
StateChange As StateChangeEventHandler |
Aufruf bei Änderungen von State |
InfoMessage As SqlInfoMessageEventHandler |
Wird ausgelöst, wenn der SQL Server Warn- oder Informationsmeldungen schickt. |
23.6.3 Eigenschaften eines SqlConnection-Objekts
Eigenschaft | Beschreibung | Art |
ConnectionString() As String |
Zeichenfolge, die beim Verbindungsaufbau an den Datenbankserver gesendet wird. |
% |
ConnectionTimeout() As Integer |
Maximalzeit zum Verbindungsaufbau. |
R |
Database() As String |
Aktuell offene Datenbank. |
R% |
DataSource() As String |
Name des Datenbankservers. |
R% |
ServerVersion() As String |
Versionsdaten des Dantenbank-Servers. |
R% |
State() As ConnectionState |
Verbindungsstatus. |
R% |
WorkstationId() As String |
(Netzwerk-)Name des Clients. |
|
PacketSize() As Integer |
Paketgröße in Bytes des Netzwerkverkehrs. |
|
StatisticsEnabled() As Boolean |
Sammlung von Statistikdaten erlauben. |
|
FireInfoMessageEventOnUserErrors() As Boolean |
InfoMessage Ereignisse im Fehlerfall statt Ausnahmen. |
23.6.4 Methoden des Connection-Objekts
Die primäre Aufgabe eines Connection-Objekts ist das Öffnen und Schließen einer Datenbankverbindung mit den Methoden Open und Close.
Einige Datenbankserver, beispielsweise SQL Server, unterstützen mehrere Datenbanken. Wenn Sie mit dem SQL Server arbeiten, müssen Sie den USE-Befehl verwenden, um die Datenbank zu wechseln:
USE Northwind
Im folgenden Kapitel werden Sie lernen, wie ein Befehl gegen eine Datenbank abgesetzt wird. Dies soll an dieser Stelle schon einmal vorab und ohne weitere Erklärung gezeigt werden:
Dim cmd As DbCommand = con.CreateCommand() cmd.CommandText = "USE Northwind" cmd.ExecuteNonQuery()
Mit der Methode ChangeDatabase des Connection-Objekts können Sie das Gleiche deutlich einfacher erreichen. Vorausgesetzt wird dabei nur eine geöffnete Verbindung:
con.Open()
con.ChangeDatabase("Northwind")
In Tabelle 23.5 der Methoden eines Connection-Objekts tauchen unter anderem BeginTransaction, CreateCommand und GetSchema auf, die Fähigkeiten eines Verbindungsobjekts bezeichnen, die über das Erstellen einer Verbindung hinausgehen.
Methode | Beschreibung | Art |
New([connectionString]) |
Konstruktor |
|
Open() |
Verbindung öffnen |
% |
ChangeDatabase(databaseName) |
Datenbank einer offenen Verbindung setzen |
% |
Close() |
Verbindung schließen |
% |
CreateCommand() As DbCommand CreateCommand() As SqlCommand |
Datenbankkommando erzeugen |
|
BeginTransaction([isolationLevel]) As DbTransaction BeginTransaction([isolationLevel, ] transactionName) As SqlTransaction |
Start einer untrennbaren Aktionsfolge (Transaktion) |
|
EnlistTransaction(transaction) EnlistDistributedTransaction(iTransaction) |
Registrierung in einer verteilten Transaktion |
|
GetSchema([collectionName [, restrictionValues]]) As DataTable |
Struktur einer Datenbank ermitteln |
|
ClearAllPools() |
Inaktive Verbindungen entfernen |
S |
ClearPool(sqlConnection) |
Inaktive Verbindungen entfernen |
S |
ChangePassword(connectionString, newPassword) |
Änderung des Kennworts für den Zugriff auf den SQL Server |
S |
ResetStatistics() |
Zurücksetzen von Statistikdaten |
|
RetrieveStatistics() As IDictionary |
Abruf von Statistikdaten |
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.