Połączenie kontekstowe
Dotyczy:programu SQL Server
Problem z dostępem do danych wewnętrznych jest dość typowym scenariuszem. Oznacza to, że chcesz uzyskać dostęp do tego samego serwera, na którym jest wykonywana procedura składowana lub funkcja środowiska uruchomieniowego języka wspólnego (CLR). Jedną z opcji jest utworzenie połączenia przy użyciu System.Data.SqlClient.SqlConnection
, określenie parametrów połączenia wskazujących serwer lokalny i otwarcie połączenia. Ta metoda wymaga określenia poświadczeń na potrzeby logowania. Połączenie jest w innej sesji bazy danych niż procedura składowana lub funkcja, może mieć różne opcje SET
, jest w oddzielnej transakcji, nie widzi tabel tymczasowych itd.
Jeśli zarządzana procedura składowana lub kod funkcji jest wykonywany w procesie programu SQL Server, jest to spowodowane tym, że ktoś nawiązał połączenie z tym serwerem i wykonał instrukcję SQL, aby ją wywołać. Prawdopodobnie chcesz, aby procedura składowana lub funkcja działała w kontekście tego połączenia, wraz z jego transakcją, SET
opcjami itd. Jest to nazywane połączeniem kontekstowym.
Połączenie kontekstowe umożliwia wykonywanie Transact-SQL instrukcji w tym samym kontekście, w którym kod został wywołany w pierwszej kolejności. Aby uzyskać połączenie kontekstowe, należy użyć słowa kluczowego parametrów połączenia kontekstu, jak w poniższym przykładzie.
using(SqlConnection connection = new SqlConnection("context connection=true"))
{
connection.Open();
// Use the connection
}
W tej sekcji
Artykuł | Opis |
---|---|
połączenia kontekstowe a zwykłe połączenia | Opisuje różnice między regularnymi i kontekstowymi połączeniami. |
ograniczenia dotyczące połączeń kontekstowych i regularnych połączeń | Opisuje ograniczenia dotyczące regularnych i kontekstowych połączeń. |