Delen via


Contextverbinding

van toepassing op:SQL Server-

Het probleem van interne gegevenstoegang is een vrij gebruikelijk scenario. Dat wil bijvoorbeeld dat u toegang wilt krijgen tot dezelfde server waarop uw clr-opgeslagen procedure of functie (Common Language Runtime) wordt uitgevoerd. Een optie is om een verbinding te maken met behulp van System.Data.SqlClient.SqlConnection, een verbindingsreeks op te geven die verwijst naar de lokale server en de verbinding te openen. Voor deze methode moet u referenties opgeven om u aan te melden. De verbinding bevindt zich in een andere databasesessie dan de opgeslagen procedure of functie, het kan verschillende SET opties hebben, het bevindt zich in een afzonderlijke transactie, de tijdelijke tabellen worden niet weergegeven, enzovoort.

Als uw beheerde opgeslagen procedure of functiecode wordt uitgevoerd in het SQL Server-proces, komt dit doordat iemand verbinding heeft gemaakt met die server en een SQL-instructie heeft uitgevoerd om deze aan te roepen. Waarschijnlijk wilt u dat de opgeslagen procedure of functie wordt uitgevoerd in de context van die verbinding, samen met de transactie, SET opties, enzovoort. Dit wordt de contextverbinding genoemd.

Met de contextverbinding kunt u Transact-SQL instructies uitvoeren in dezelfde context als de code die in de eerste plaats is aangeroepen. Als u de contextverbinding wilt verkrijgen, moet u het trefwoord 'contextverbinding' gebruiken, zoals in het volgende voorbeeld.

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

In deze sectie

Artikel Beschrijving
contextverbindingen versus reguliere verbindingen Beschrijft de verschillen tussen reguliere en contextverbindingen.
Beperkingen voor contextverbindingen en reguliere verbindingen Beschrijft de beperkingen voor reguliere en contextverbindingen.