Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jeder ADO.NET-Datenanbieter verfügt über ein Connection-Objekt, das von DbConnection erbt sowie über eine anbieterspezifische ConnectionString-Eigenschaft verfügt. Die spezifische Verbindungszeichenfolgensyntax für den jeweiligen Anbieter wird in dessen ConnectionString-Eigenschaft dokumentiert. In der folgenden Tabelle sind Microsoft.Data.SqlClient und drei in .NET Framework enthaltene Anbieter aufgeführt.
| Datenanbieter | BESCHREIBUNG |
|---|---|
| Microsoft.Data.SqlClient | Bietet Datenzugriff für Microsoft SQL Server über die Microsoft. Data.SqlClient NuGet-Paket. Weitere Informationen zur Verbindungszeichenfolgensyntax finden Sie unter ConnectionString. |
| System.Data.OleDb | Ermöglicht den Datenzugriff für Datenquellen, die mit OLE DB verfügbar gemacht werden. Weitere Informationen zur Verbindungszeichenfolgensyntax finden Sie unter ConnectionString. |
| System.Data.Odbc | Ermöglicht den Datenzugriff für Datenquellen, die mit ODBC verfügbar gemacht werden. Weitere Informationen zur Verbindungszeichenfolgensyntax finden Sie unter ConnectionString. |
| System.Data.OracleClient | Ermöglicht den Datenzugriff für Oracle 8.1.7 oder höher. Weitere Informationen zur Verbindungszeichenfolgensyntax finden Sie unter ConnectionString. |
Verbindungszeichenfolgen-Ersteller
Verwenden Sie den Verbindungszeichenfolge-Generator für Ihren Datenanbieter.
- SqlConnectionStringBuilder
- OleDbConnectionStringBuilder
- OdbcConnectionStringBuilder
- OracleConnectionStringBuilder
Mit den Verbindungszeichenfolgen-Generatoren können Sie syntaktisch gültige Verbindungszeichenfolgen zur Laufzeit erstellen, sodass Sie keine manuellen Verbindungszeichenfolgenwerte in Ihrem Code verketten müssen. Weitere Informationen finden Sie in Connection String Builders (Verbindungszeichenfolgengeneratoren).
Windows-Authentifizierung
Die Windows-Authentifizierung (mitunter als integrierte Sicherheit bezeichnet) kann zum Herstellen einer Verbindung mit Datenquellen, die diese unterstützen, verwendet werden. Die verwendete Syntax in der Verbindungszeichenfolge variiert je nach Anbieter. Die folgende Tabelle zeigt die Windows Authentifizierungssyntax, die mit diesen Datenanbietern verwendet wird.
| Anbieter | Syntax |
|---|---|
SqlClient |
Integrated Security=true;-- or --Integrated Security=SSPI; |
OleDb |
Integrated Security=SSPI; |
Odbc |
Trusted_Connection=yes; |
OracleClient |
Integrated Security=yes; |
Hinweis
Integrated Security=true löst eine Ausnahme aus, wenn er mit dem OleDb-Anbieter verwendet wird.
Wichtig
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Wenn Sie eine Verbindung mit Azure SQL herstellen, ist Managed Identities for Azure Resources die empfohlene Authentifizierungsmethode.
SqlClient-Verbindungszeichenfolgen
Die Syntax für eine SqlConnection-Verbindungszeichenfolge wird in der SqlConnection.ConnectionString-Eigenschaft dokumentiert. Mit der ConnectionString-Eigenschaft können Sie eine Verbindungszeichenfolge für eine SQL Server-Datenbank abrufen oder festlegen. Für die meisten Schlüsselwörter in Verbindungszeichenfolgen gibt es Zuordnungen zu den Eigenschaften des SqlConnectionStringBuilder.
Wichtig
Die Standardeinstellung für das Schlüsselwort Persist Security Info ist false. Wenn die Einstellung auf true oder yes gesetzt wird, können sicherheitsrelevante Informationen, einschließlich Benutzer-ID und Passwort, nach dem Öffnen der Verbindung aus dieser Verbindung abgerufen werden. Lassen Sie Persist Security Info auf false festgelegt, um sicherzustellen, dass eine nicht vertrauenswürdige Quelle keinen Zugriff auf sensible Informationen in Verbindungszeichenfolgen hat.
Windows-Authentifizierung mit SqlClient
Jede der folgenden Syntaxformen verwendet Windows Authentifizierung, um eine Verbindung mit der AdventureWorks Datenbank auf dem angegebenen Server herzustellen.
"Persist Security Info=False;Integrated Security=true;Initial Catalog=AdventureWorks;Server=<server>;Encrypt=true"
"Persist Security Info=False;Integrated Security=SSPI;database=AdventureWorks;server=<server>;Encrypt=true"
"Persist Security Info=False;Trusted_Connection=True;database=AdventureWorks;server=<server>;Encrypt=true"
Wichtig
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Wenn Sie eine Verbindung mit Azure SQL herstellen, ist Managed Identities for Azure Resources die empfohlene Authentifizierungsmethode.
SQL Server-Authentifizierung mit SqlClient
Zum Herstellen einer Verbindung mit SQL Server (lokal) ist vorzugsweise die Windows-Authentifizierung zu verwenden. Wenn jedoch die SQL Server-Authentifizierung erforderlich ist, verwenden Sie zum Angeben eines Benutzernamens und Kennworts die im Folgenden beschriebene Syntax. In diesem Beispiel werden der Benutzername und das Kennwort durch Sternchen dargestellt.
"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"
Wenn Sie eine Verbindung mit Azure SQL-Datenbank oder Azure SQL Data Warehouse herstellen und eine Anmeldung im Format user@servername anbieten, stellen Sie sicher, dass der Wert servername in der Anmeldung mit dem für Server= angegebenen Wert übereinstimmt.
Hinweis
Die Windows-Authentifizierung hat Vorrang vor SQL Server-Anmeldungen. Wenn Sie Integrated Security=true und einen Benutzernamen und ein Kennwort angeben, werden der Benutzername und das Kennwort ignoriert, und die Windows-Authentifizierung wird verwendet.
Wichtig
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Wenn Sie eine Verbindung mit Azure SQL herstellen, ist Managed Identities for Azure Resources die empfohlene Authentifizierungsmethode.
Herstellen einer Verbindung mit einer benannten Instanz von SQL Server
Wenn Sie eine Verbindung mit einer benannten Instanz von SQL Server herstellen möchten, verwenden Sie die Syntax Servername\Instanzname.
"Data Source=<server>\\<instance>;Encrypt=true;"
Sie können beim Erstellen einer Verbindungszeichenfolge auch die DataSource-Eigenschaft von SqlConnectionStringBuilder auf den Instanznamen festlegen. Die DataSource-Eigenschaft eines SqlConnection-Objekts ist schreibgeschützt.
Eingeben von Änderungen der Systemversion
Das Schlüsselwort Type System Version in SqlConnection.ConnectionString gibt die clientseitige Darstellung von SQL Server-Typen an. Weitere Informationen zum Schlüsselwort Type System Version finden Sie unter SqlConnection.ConnectionString.
Verbindung herstellen und an SQL Server Express-Benutzerinstanzen anschließen
Benutzerinstanzen sind eine Funktion in SQL Server Express. Mit ihrer Hilfe können Benutzer, die mit einem lokalen Windows-Konto der untersten Berechtigungsebene (LUA) arbeiten, eine SQL Server-Datenbank anfügen und ausführen, ohne dass dafür Administratorrechte erforderlich sind. Eine Benutzerinstanz wird mit den Windows-Anmeldeinformationen des Benutzers und nicht als Dienst ausgeführt.
Weitere Informationen zum Arbeiten mit Benutzerinstanzen finden Sie unter SQL Server Express-Benutzerinstanzen.
Verwenden von TrustServerCertificate
Mit TrustServerCertificate=true verschlüsselt Encrypt=true die Verbindung, umgeht jedoch die Serverzertifikatüberprüfung. Behalten Sie TrustServerCertificate=false für Produktionsverbindungen bei, und konfigurieren Sie ein überprüfbares Serverzertifikat.
"TrustServerCertificate=true;"
Achtung
Wenn Sie die Zertifikatüberprüfung umgehen, kann der Client die Identität des Servers nicht überprüfen. Mit Encrypt=Strict, Microsoft. Data.SqlClient überprüft immer das Serverzertifikat und ignoriert TrustServerCertificate.
Aktivieren der Verschlüsselung
Microsoft.Data.SqlClient ist standardmäßig auf Encrypt=Mandatory festgelegt, entspricht Encrypt=true und TrustServerCertificate=false. Der Client erfordert Verschlüsselung und überprüft das Serverzertifikat. Wenn das Zertifikat nicht vertrauenswürdig ist oder nicht mit dem Servernamen übereinstimmt, schlägt die Verbindung fehl.
Geben Sie für Remoteverbindungen Encrypt=true an und konfigurieren Sie ein Serverzertifikat, dem der Client vertraut. Wenn Sie von System.Data.SqlClient migrieren, gehen Sie nicht davon aus, dass die Verschlüsselungsstandardwerte für Microsoft.Data.SqlClient gelten. Weitere Informationen finden Sie unter Verschlüsselungs- und Zertifikatüberprüfung in Microsoft.Data.SqlClient.
OleDb-Verbindungszeichenfolgen
Mit der ConnectionString-Eigenschaft von OleDbConnection können Sie eine Verbindungszeichenfolge für eine OLE DB-Datenquelle wie Microsoft Access abrufen bzw. festlegen. Sie können auch zur Laufzeit eine OleDb Verbindungszeichenfolge erstellen, indem Sie die OleDbConnectionStringBuilder Klasse verwenden.
Syntax für OleDb-Verbindungszeichenfolgen
Sie müssen für eine OleDbConnection-Verbindungszeichenfolge einen Anbieternamen angeben. Die folgende Verbindungszeichenfolge stellt mithilfe des Jet-Anbieters eine Verbindung mit einer Microsoft Access-Datenbank her. Beachten Sie, dass die Schlüsselwörter User ID und Password optional sind, wenn die Datenbank ungesichert (Standardeinstellung) ist.
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=;
Wenn die Jet-Datenbank auf Benutzerebene gesichert ist, müssen Sie den Speicherort der Arbeitsgruppen-Informationsdatei (MDW) angeben. Mit der Arbeitsgruppen-Informationsdatei werden die Zugangsdaten, die in der Verbindungszeichenfolge angegeben sind, validiert.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;
Wichtig
Es ist möglich, Verbindungsinformationen für eine OleDbConnection In einer UDL-Datei (Universal Data Link) anzugeben. Sie sollten dies jedoch vermeiden. UDL-Dateien sind nicht verschlüsselt und machen Informationen zur Verbindungszeichenfolge im Klartext verfügbar. Da es sich bei einer UDL-Datei um eine externe Ressource der Anwendung handelt, kann sie nicht mit .NET Framework gesichert werden. UDL-Dateien werden für SqlClient nicht unterstützt.
Wichtig
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Wenn Sie eine Verbindung mit Azure SQL herstellen, ist Managed Identities for Azure Resources die empfohlene Authentifizierungsmethode.
Verwenden von DataDirectory zum Herstellen einer Verbindung mit Access/Jet
DataDirectory steht nicht exklusiv für SqlClient zur Verfügung. Es kann auch mit den System.Data.OleDb- und System.Data.Odbc-.NET-Datenanbietern verwendet werden. Die folgende OleDbConnection-Beispielzeichenfolge zeigt die Syntax, die erforderlich ist, um eine Verbindung mit der im Anwendungsordner app_data befindlichen Datei Northwind.mdb herzustellen. Die Systemdatenbank (System.mdw) ist ebenfalls an diesem Speicherort gespeichert.
"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"
Wichtig
Die Angabe des Speicherorts der Systemdatenbank in der Verbindungszeichenfolge ist nicht erforderlich, wenn die Access-/Jet-Datenbank ungesichert ist. Die Sicherheit ist standardmäßig deaktiviert, sodass alle Benutzer eine Verbindung als integrierter Admin-Benutzer mit einem leeren Kennwort herstellen. Selbst wenn die Sicherheit auf Benutzerebene ordnungsgemäß implementiert ist, bleibt eine Jet-Datenbank durch Angriffe verwundbar. Aufgrund der inhärenten Schwäche des dateibasierten Sicherheitsschemas von Access-/Jet-Datenbanken wird davon abgeraten, in solchen Datenbanken sicherheitsrelevante Informationen zu speichern.
Mit Excel verbinden
Für die Verbindung mit einer Excel-Arbeitsmappe wird der Microsoft Jet-Anbieter verwendet. In der folgenden Verbindungszeichenfolge werden mit dem Schlüsselwort Extended Properties Excel-spezifische Eigenschaften festgelegt. HDR=Yes; gibt an, dass die erste Zeile Spaltennamen und keine Daten enthält, und IMEX=1; weist den Treiber an, miteinander vermischte Datenspalten immer als Text zu lesen.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""
Beachten Sie, dass die für das Extended Properties erforderlichen doppelten Anführungszeichen ihrerseits ebenfalls von doppelten Anführungszeichen umgeben werden müssen.
Syntax für Verbindungszeichenfolgen für den Data Shape-Anbieter
Verwenden Sie für den MS Data Shape-Anbieter die Schlüsselwörter Provider und Datenanbieter. Im folgenden Beispiel wird mithilfe des Shape-Anbieters eine Verbindung mit einer lokalen Instanz von SQL Server hergestellt.
"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;"
Wichtig
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Wenn Sie eine Verbindung mit Azure SQL herstellen, ist Managed Identities for Azure Resources die empfohlene Authentifizierungsmethode.
Odbc-Verbindungszeichenfolgen
Mit der ConnectionString-Eigenschaft einer OdbcConnection können Sie eine Verbindungszeichenfolge für eine OLE DB-Datenquelle abrufen oder festlegen. ODBC-Verbindungszeichenfolgen werden auch vom OdbcConnectionStringBuilder unterstützt.
In der folgenden Verbindungszeichenfolge wird der Microsoft-Texttreiber verwendet.
Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin
Oracle-Verbindungszeichenfolgen
Mit der ConnectionString-Eigenschaft einer OracleConnection können Sie eine Verbindungszeichenfolge für eine OLE DB-Datenquelle abrufen oder festlegen. Oracle-Verbindungszeichenfolgen werden auch vom OracleConnectionStringBuilder unterstützt.
Data Source=Oracle9i;User ID=*****;Password=*****;
Weitere Informationen zur Syntax für ODBC-Verbindungszeichenfolgen finden Sie unter ConnectionString.
Wichtig
Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Wenn Sie eine Verbindung mit Azure SQL herstellen, ist Managed Identities for Azure Resources die empfohlene Authentifizierungsmethode.