Freigeben über


Kontextverbindung

Gilt für: SQL Server

Der interne Datenzugriff ist ein verbreitetes Problem. Es tritt auf, wenn Sie auf denselben Server zugreifen möchten, auf dem auch die CLR-gespeicherte Prozedur (Common Language Runtime, CLR) oder -Funktion ausgeführt wird. Eine Option besteht darin, eine Verbindung mit System.Data.SqlClient.SqlConnection zu erstellen, eine Verbindungszeichenfolge anzugeben, die auf den lokalen Server verweist, und die Verbindung öffnen. Dies erfordert die Angabe von Anmeldeinformationen für die Anmeldung. Die Verbindung befindet sich in einer anderen Datenbanksitzung als die gespeicherte Prozedur oder Funktion, sie hat möglicherweise unterschiedliche SET-Optionen , sie befindet sich in einer separaten Transaktion, sieht ihre temporären Tabellen usw. nicht. Wenn der Code Ihrer verwalteten gespeicherten Prozedur oder Funktion im SQL Serverprozess ausgeführt wird, liegt das daran, dass jemand eine Verbindung mit diesem Server hergestellt und eine SQL-Anweisung ausgeführt hat, um den Code aufzurufen. Wahrscheinlich möchten Sie, dass die gespeicherte Prozedur oder Funktion im Kontext dieser Verbindung zusammen mit der Transaktion, DEN SET-Optionen usw. ausgeführt werden soll. Dies wird als Kontextverbindung bezeichnet.

Die Kontextverbindung ermöglicht, Transact-SQL-Anweisungen im selben Kontext auszuführen wie den Code, der anfänglich aufgerufen wurde. Um die Kontextverbindung herzustellen, müssen Sie "context connection", das Schlüsselwort für die Verbindungszeichenfolge der Kontextverbindung, verwenden, wie im nachstehenden Beispiel gezeigt:

[C#]

using(SqlConnection connection = new SqlConnection("context connection=true"))   
{  
    connection.Open();  
    // Use the connection  
}  

[Visual Basic]

Using connection as new SqlConnection("context connection=true")  
    connection.Open()  
    ' Use the connection  
End Using  
  

In diesem Abschnitt

Reguläre im Vergleich zu Kontextverbindungen
Beschreibt die Unterschiede zwischen regulären Verbindungen und Kontextverbindungen.

Einschränkungen hinsichtlich regulärer Verbindungen und Kontextverbindungen
Beschreibt die Einschränkungen hinsichtlich regulärer Verbindungen und Kontextverbindungen.