Freigeben über


Herstellen der Verbindung (ADO.NET)

Aktualisiert: November 2007

Zum Herstellen einer Verbindung mit Microsoft SQL Server 7.0 oder höher verwenden Sie das SqlConnection-Objekt des .NET Framework-Datenanbieters für SQL Server. Die Verbindung mit einer OLE DB-Datenquelle oder zu Microsoft SQL Server 6.x oder früheren Versionen können Sie mit dem OleDbConnection-Objekt des .NET Framework-Datenanbieters für OLE DB herstellen. Wenn Sie eine Verbindung mit einer ODBC-Datenquelle herstellen möchten, verwenden Sie das OdbcConnection-Objekt des .NET Framework-Datenanbieters für ODBC. Zum Herstellen einer Verbindung mit einer Oracle-Datenquelle verwenden Sie das OracleConnection-Objekt des .NET Framework-Datenanbieters für Oracle. Informationen zum sicheren Speichern und Abrufen von Verbindungszeichenfolgen finden Sie unter Schützen von Verbindungsinformationen (ADO.NET).

Schließen von Verbindungen

Es wird empfohlen, die Verbindung nach Verwendung stets zu schließen, damit sie in den Pool zurückgegeben werden kann. Der Using-Block in Visual Basic oder C# verwirft automatisch die Verbindung, wenn der Code den Block verlässt, auch im Falle einer unbehandelten Ausnahme. Weitere Informationen finden Sie unter using-Anweisung (C#-Referenz) und Using-Anweisung (Visual Basic).

Sie können ebenso die Close-Methode oder Dispose-Methode des Verbindungsobjekts des von Ihnen in Anspruch genommenen Anbieters verwenden. Verbindungen, die nicht explizit geschlossen werden, werden möglicherweise dem Pool nicht hinzugefügt bzw. nicht an den Pool zurückgegeben. Beispielsweise wird eine Verbindung, die sich nicht mehr im Gültigkeitsbereich befindet, aber nicht explizit geschlossen wurde, nur dann an den Verbindungspool zurückgegeben, wenn die maximale Poolgröße erreicht wurde und die Verbindung immer noch gültig ist. Weitere Informationen finden Sie unter OLE DB-, ODBC- und Oracle-Verbindungspooling (ADO.NET).

Hinweis:

Rufen Sie in der Finalize-Methode der Klasse für eine Connection, einen DataReader oder andere verwaltete Objekte nie Close oder Dispose auf. Geben Sie in einer Finalize-Methode nur nicht verwaltete Ressourcen frei, die der Klasse direkt gehören. Wenn die Klasse keine nicht verwalteten Ressourcen besitzt, definieren Sie in der Klasse keine Finalize-Methode. Weitere Informationen finden Sie unter Garbage Collection.

Hinweis:

Auf dem Server werden keine An- und Abmeldeereignisse ausgelöst, wenn eine Verbindung aus dem Verbindungspool abgerufen oder an den Verbindungspool zurückgegeben wird, da die Verbindung bei Rückgabe in den Verbindungspool nicht beendet wird. Weitere Informationen finden Sie unter SQL Server-Verbindungspooling (ADO.NET).

Herstellen einer Verbindung mit SQL Server

Der .NET Framework-Datenanbieter für SQL Server unterstützt ein Verbindungszeichenfolgenformat ähnlich dem Verbindungszeichenfolgenformat für OLE DB (ADO). Gültige Zeichenfolgenformatnamen und -werte finden Sie in der Beschreibung der ConnectionString-Eigenschaft des SqlConnection-Objekts. Sie können auch die SqlConnectionStringBuilder-Klasse verwenden, um zur Laufzeit syntaktisch gültige Verbindungszeichenfolgen zu erstellen. Weitere Informationen dazu finden Sie unter Verbindungszeichenfolgen-Generatoren (ADO.NET).

Im folgenden Codebeispiel wird veranschaulicht, wie eine Verbindung mit einer SQL Server-Datenbank der Version 7.0 oder höher erstellt und geöffnet wird.

' Assumes connectionString is a valid connection string.
Using connection As New SqlConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Integrierte Sicherheit und ASP.NET

Die integrierte Sicherheit von SQL Server (auch bekannt als vertrauenswürdige Verbindungen) trägt zum Schutz beim Herstellen von Verbindungen mit SQL Server bei, da in der Verbindungszeichenfolge Benutzer-ID und Kennwort nicht verfügbar gemacht werden, und ist daher die empfohlene Methode für die Authentifizierung einer Verbindung. Bei der integrierten Sicherheit wird die aktuelle Sicherheitsidentität oder das aktuelle Sicherheitstoken des ausführenden Prozesses verwendet. Bei Desktop-Anwendungen handelt es sich dabei i. d. R. um die Identität des aktuell angemeldeten Benutzers.

Die Sicherheitsidentität für ASP.NET-Anwendungen kann auf eine von mehreren verschiedenen Optionen festgelegt werden. Informationen zum besseren Verständnis der in ASP.NET-Anwendungen beim Herstellen einer Verbindung mit SQL Server verwendeten Sicherheitsidentität finden Sie unter Identitätswechsel in ASP.NET, Authentifizierung in ASP.NET und Gewusst wie: Zugreifen auf SQL Server mit integrierter Windows-Sicherheit.

Herstellen einer Verbindung mit einer OLE DB-Datenquelle

Der .NET Framework-Datenanbieter für OLE DB stellt Verbindungen mit verfügbar gemachten Datenquellen mithilfe von OLE DB und mit Microsoft SQL Server 6.x oder früheren Versionen (über SQLOLEDB, den OLE DB-Anbieter für SQL Server) mithilfe des OleDbConnection-Objekts her.

Bei dem .NET Framework-Datenanbieter für OLE DB ist das Verbindungszeichenfolgenformat mit dem in ADO verwendeten Verbindungszeichenfolgenformat bis auf folgende Ausnahmen identisch:

  • Das Provider-Schlüsselwort ist erforderlich.

  • Die Schlüsselwörter URL, Remote Provider und Remote Server werden nicht unterstützt.

Weitere Informationen zu OLE DB-Verbindungszeichenfolgen finden Sie unter dem Thema ConnectionString. Sie können auch den OleDbConnectionStringBuilder verwenden, um zur Laufzeit Verbindungszeichenfolgen zu erstellen.

Hinweis:

Das OleDbConnection-Objekt unterstützt nicht das Festlegen oder Abrufen dynamischer, für einen OLE DB-Anbieter spezifischer Eigenschaften. Es werden nur Eigenschaften unterstützt, die in der Verbindungszeichenfolge für den OLE DB-Anbieter übergeben werden können.

Im folgenden Codebeispiel wird veranschaulicht, wie eine Verbindung mit einer OLE DB-Datenquelle erstellt und geöffnet wird.

' Assumes connectionString is a valid connection string.
Using connection As New OleDbConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OleDbConnection connection = 
  new OleDbConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Verbindungsinformationen für eine OleDbConnection können in einer UDL-Datei (Universal Data Link) bereitgestellt werden. Es wird jedoch empfohlen, dies zu 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.

Herstellen einer Verbindung mit einer ODBC-Datenquelle

Der .NET Framework-Datenanbieter für ODBC stellt Verbindungen mit Datenquellen, die mit ODBC verfügbar gemacht wurden, mithilfe des OdbcConnection-Objekts bereit.

Das Verbindungszeichenfolgenformat des .NET Framework-Datenanbieters für ODBC wurde so konzipiert, dass es weitestgehend mit dem ODBC-Verbindungszeichenfolgenformat übereinstimmt. Sie können auch einen ODBC-Datenquellennamen (DSN, Data Source Name) angeben. Detailliertere Informationen zur OdbcConnection finden Sie unter den Informationen zur OdbcConnection-Klasse.

Hinweis:

Der .NET Framework-Datenanbieter für ODBC ist in .NET Framework 1.0 nicht enthalten. Wenn Sie den .NET Framework-Datenanbieter für ODBC benötigen und .NET Framework 1.0 verwenden, können Sie den .NET Framework-Datenanbieter für ODBC von dieser Microsoft-Website herunterladen. Der Namespace für den heruntergeladenen.NET Framework-Datenanbieter für ODBC lautet Microsoft.Data.Odbc.

Im folgenden Codebeispiel wird veranschaulicht, wie eine Verbindung mit einer ODBC-Datenquelle erstellt und geöffnet wird.

' Assumes connectionString is a valid connection string.
Using connection As New OdbcConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OdbcConnection connection = 
  new OdbcConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Herstellen einer Verbindung mit einer Oracle-Datenquelle

Der .NET Framework-Datenanbieter für Oracle stellt Verbindungen mit Oracle-Datenquellen mithilfe des OracleConnection-Objekts bereit.

Das Verbindungszeichenfolgenformat des .NET Framework-Datenanbieters für Oracle wurde so konzipiert, dass es weitestgehend mit dem Verbindungszeichenfolgenformat des OLE DB-Anbieters für Oracle (MSDAORA) übereinstimmt. Detailliertere Informationen zur OracleConnection finden Sie unter den Informationen zur OracleConnection Class.

Im folgenden Codebeispiel wird veranschaulicht, wie eine Verbindung mit einer Oracle-Datenquelle erstellt und geöffnet wird.

' Assumes connectionString is a valid connection string.
Using connection As New OracleConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OracleConnection connection = 
  new OracleConnection(connectionString))
{
    connection.Open();
    // Do work here.
}
OracleConnection nwindConn = new OracleConnection("Data Source=MyOracleServer;Integrated Security=yes;");
nwindConn.Open();

Siehe auch

Konzepte

OLE DB-, ODBC- und Oracle-Verbindungspooling (ADO.NET)

Weitere Ressourcen

Herstellen einer Verbindung mit einer Datenquelle (ADO.NET)

Verbindungszeichenfolgen (ADO.NET)