Partager via


Connexion contextuelle

Le problème d'accès aux données interne est un scénario relativement courant. Autrement dit, vous souhaitez accéder au même serveur que celui sur lequel votre fonction ou procédure stockée CLR s'exécute. Une option consiste à créer une connexion à l’aide de System.Data.SqlClient.SqlConnection, spécifier une chaîne de connexion qui pointe vers le serveur local et ouvrir la connexion. Cela requiert la spécification d'informations d'identification pour se connecter. La connexion se trouve dans une autre session de base de données que la procédure stockée ou la fonction, elle peut avoir des options SET différentes, elle figure dans une transaction distincte, elle ne consulte pas vos tables temporaires, et ainsi de suite Si le code de votre procédure stockée managée ou de votre fonction exécute dans le processus SQL Server, la raison en est que quelqu'un s'est connecté à ce serveur et a exécuté une instruction SQL pour l'appeler. Vous souhaitez probablement que la procédure stockée ou la fonction s’exécute dans le contexte de cette connexion, ainsi que sa transaction, ses options de SET, et ainsi de suite. Une telle connexion est appelée connexion du contexte, ou connexion contextuelle.

La connexion contextuelle permet d'exécuter des instructions Transact-SQL dans le même contexte que celui où votre code a été appelé en premier lieu. Pour obtenir la connexion contextuelle, vous devez utiliser le mot clé de chaîne de connexion « context connection », comme dans l’exemple ci-dessous :

[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  
  

Dans cette section

Connexions régulières et contextuelles
Décrit les différences entre les connexions régulières et les connexions contextuelles.

Restrictions sur les connexions régulières et contextuelles
Décrit les restrictions sur les connexions régulières et les connexions contextuelles.