Sdílet prostřednictvím


Kontextové připojení

platí pro:SQL Server

Problémem interního přístupu k datům je poměrně běžný scénář. To znamená, že chcete získat přístup ke stejnému serveru, na kterém se spouští uložená procedura clr (Common Language Runtime) nebo funkce. Jednou z možností je vytvořit připojení pomocí System.Data.SqlClient.SqlConnection, zadat připojovací řetězec, který odkazuje na místní server, a otevřít připojení. Tato metoda vyžaduje zadání přihlašovacích údajů pro přihlášení. Připojení je v jiné databázové relaci než uložená procedura nebo funkce, může mít různé SET možnosti, je v samostatné transakci, nezobrazuje dočasné tabulky atd.

Pokud se vaše spravovaná uložená procedura nebo kód funkce spouští v procesu SQL Serveru, je to proto, že někdo, kdo se k danému serveru připojil, a spustil příkaz SQL, který ho vyvolá. Pravděpodobně chcete, aby uložená procedura nebo funkce prováděla v kontextu tohoto připojení spolu s jeho transakcí, SET možnosti atd. Tomu se říká kontextové připojení.

Kontextové připojení umožňuje spouštět příkazy Transact-SQL ve stejném kontextu, v jaké byl kód vyvolán na prvním místě. Chcete-li získat kontextové připojení, musíte použít klíčové slovo připojovacího řetězce "context connection", jako v následujícím příkladu.

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

V této části

Článek Popis
připojení kontextu vs. běžná připojení Popisuje rozdíly mezi běžnými a kontextovými připojeními.
Omezení kontextových připojení a běžných připojení Popisuje omezení běžných a kontextových připojení.