Datenbankkonnektivität hat sich zu einem Standardaspekt der Anwendungsentwicklung entwickelt. Datenbankverbindungszeichenfolgen sind mittlerweile ein Standard-Must-have für jedes Projekt. Ich kopiere oft eine Verbindungszeichenfolge aus einer anderen Anwendung oder führe eine Suche durch, um die benötigte Syntax zu finden. Dies gilt insbesondere bei der Zusammenarbeit mit SQL Server, der über so viele Optionen für Verbindungszeichenfolgen verfügt. Lassen Sie uns nun die vielen Aspekte von Verbindungszeichenfolgen untersuchen.
Verbindungszeichenfolge
Während der Objektinstanziierung oder -erstellung wird die Datenbankverbindungszeichenfolge über Eigenschaften oder Methoden an das erforderliche Objekt übergeben. Das Format der Verbindungszeichenfolge ist eine durch Semikolons getrennte Liste von Schlüssel/Wert-Parameterpaaren. Listing A enthält ein Beispiel in C#, das veranschaulicht, wie durch Erstellen eines SqlConnection-Objekts eine Verbindung zu SQL Server hergestellt wird (die tatsächliche Verbindungszeichenfolge wird über die ConnectionString-Eigenschaft des Objekts zugewiesen). In Listing B ist die Version von VB.NET enthalten.
Liste A
string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;";
SqlConnectionconn = new SqlConnection();
conn.ConnectionString = cString;
conn.Open();
Liste B
cString als String dimmen
cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"
Dim conn As SqlConnection = New SqlConnection()
conn.ConnectionString = cString
conn.Open()
Die Verbindungszeichenfolge gibt den Datenbankserver und die Datenbank sowie den Benutzernamen und das Passwort an, die für den Zugriff auf die Datenbank erforderlich sind. Obwohl dieses Format nicht für alle Datenbankinteraktionen geeignet ist, stehen viele Optionen zur Verfügung, von denen viele Synonyme haben.
Neben den Elementen „Datenquelle“, „Anfänglicher Katalog“, „Benutzer-ID“ und „Passwort“ stehen die folgenden Optionen zur Verfügung:
Anwendungsname: Der Name der Anwendung. Wenn nicht angegeben, ist sein Wert der .NET SqlClient-Datenanbieter.
AttachDBFilename/extended Properties/Initial File Name: Der Name der Hauptdatei, die mit der Datenbank verbunden werden kann, einschließlich des vollständigen Pfadnamens. Der Datenbankname muss mit dem Schlüsselwort Datenbank angegeben werden.
Verbindungs-Timeout/Verbindungs-Timeout: Die Zeitspanne (in Sekunden), die eine Verbindung zum Server wartet, bevor sie beendet wird. Der Standardwert ist 15.
Verbindungslebensdauer: Wenn eine Verbindung an den Verbindungspool zurückgegeben wird, wird ihre Erstellungszeit mit der aktuellen Zeit verglichen. Überschreitet diese Zeitspanne die Gültigkeitsdauer der Verbindung, wird die Verbindung abgebrochen. Der Standardwert ist 0.
Verbindungszurücksetzung: Gibt an, ob eine Verbindung zurückgesetzt wird, wenn sie aus dem Verbindungspool entfernt wird. Bei „false valid“ entfällt die Notwendigkeit eines zusätzlichen Server-Roundtrips beim Herstellen einer Verbindung, und der Standardwert ist „true“.
Aktuelle Sprache: Der Name des SQL Server-Sprachdatensatzes.
Datenquelle/Server/Adresse/Adresse/Netzwerkadresse: Der Name oder die Netzwerkadresse der SQL Server-Instanz.
Verschlüsseln (Verschlüsselung): Wenn der Wert wahr ist, verwendet SQL Server SSL-Verschlüsselung für alle zwischen dem Client und dem Server übertragenen Daten, wenn auf dem Server ein autorisiertes Zertifikat installiert ist. Die akzeptierten Werte sind wahr, falsch, ja und nein.
Eintragen (Registrierung): Gibt an, ob das Verbindungspoolprogramm die Verbindung automatisch im aktuellen Transaktionskontext des Erstellungsthreads registriert.
Datenbank/Anfangskatalog: Der Name der Datenbank.
Integrierte Sicherheit/Vertrauenswürdige Verbindung: Gibt an, ob die Windows-Authentifizierung für die Verbindung zur Datenbank verwendet wird. Es kann auf true, false oder das SSPI-Äquivalent von true gesetzt werden. Der Standardwert ist false.
Max Pool Size (maximale Kapazität des Verbindungspools): Die maximale Anzahl von Verbindungen, die der Verbindungspool zulässt. Der Standardwert ist 100.
Min. Poolgröße (Mindestkapazität des Verbindungspools): Die minimale Anzahl von Verbindungen, die der Verbindungspool zulässt. Der Standardwert ist 0.
Netzwerkbibliothek/Netz: Netzwerkbibliothek, die zum Herstellen einer Verbindung zu einer SQL Server-Instanz verwendet wird. Zu den unterstützten Werten gehören: dbnmpntw (Named Pipes), dbmsrpcn (Multiprotocol/RPC), dbmsvinn (Banyan Vines), dbmsspxn (IPX/SPX) und dbmssocn (TCP/IP). Die Dynamic Link Library des Protokolls muss für die entsprechende Verbindung installiert sein; die Standardeinstellung ist TCP/IP.
Paketgröße: Die Größe der Netzwerkpakete, die zur Kommunikation mit der Datenbank verwendet werden. Der Standardwert ist 8192.
Passwort/Pwd: Das Passwort, das dem Kontonamen entspricht.
Sicherheitsinformationen beibehalten: Wird verwendet, um zu bestimmen, ob Sicherheitsinformationen verfügbar sind, sobald die Verbindung hergestellt ist. Wenn der Wert „true“ ist, sind sicherheitsrelevante Daten wie Benutzernamen und Passwörter verfügbar, während sie bei „false“ nicht verfügbar sind. Durch das Zurücksetzen der Verbindungszeichenfolge werden alle Werte der Verbindungszeichenfolge neu konfiguriert, einschließlich des Kennworts. Der Standardwert ist false.
Pooling: Legt fest, ob Verbindungspooling verwendet werden soll. Bei „true“ wird die Verbindung aus dem entsprechenden Verbindungspool abgerufen oder bei Bedarf erstellt und dem entsprechenden Verbindungspool hinzugefügt. Der Standardwert ist true.
Benutzer-ID: Der Kontoname, der zum Anmelden bei der Datenbank verwendet wird.
Arbeitsstations-ID: Der Name der mit SQL Server verbundenen Arbeitsstation. Der Standardwert ist der Name des lokalen Computers.
Die folgende Verbindungszeichenfolge stellt eine Verbindung zur Northwind-Datenbank auf dem TestDev1-Server mithilfe einer vertrauenswürdigen Verbindung und angegebenen Anmeldeinformationen her (weniger sicher, als wenn das Administratorkennwort leer bleibt): Server=TestDev1;Database=Northwind;User ID=sa ;
Passwort=;Trusted_Connection=True;
Die nächste Verbindungszeichenfolge verwendet TCIP/IP und eine bestimmte IP-Adresse:
Datenquelle=192.162.1.100,1433;Netzwerkbibliothek=DBMSSOCN;
Ursprünglicher Katalog=Northwind;Benutzer-ID=sa;Passwort=;
Die verwendeten Optionen können problemlos in die Verbindungszeichenfolge eingefügt werden, hängen aber wiederum von Ihrer Anwendung und deren Anforderungen ab. Es ist gut zu wissen, was verfügbar ist, damit Sie es angemessen nutzen können.
Verwendung von ADO.NET 2.0
ADO.NET 2.0 führt neue Verbindungszeichenfolgengeneratoren für jeden .NET Framework-Datenanbieter ein. Schlüsselwörter werden als Attribute aufgelistet, sodass die Syntax der Verbindungszeichenfolge wirksam werden kann, bevor sie an die Datenquelle übermittelt wird. Außerdem gibt es neue Klassen, die das einfache Speichern und Abrufen von Verbindungszeichenfolgen in Konfigurationsdateien sowie deren geschützte Verschlüsselung ermöglichen.