Подключение контекста
Область применения:SQL Server
Проблема внутреннего доступа к данным встречается довольно часто. Речь идет о тех ситуациях, когда необходимо получить доступ к тому же серверу, на котором выполняется конкретная хранимая процедура или функция среды CLR. Одним из вариантов является создание подключения с помощью System.Data.SqlClient.SqlConnection
, указание строки подключения, указывающей на локальный сервер, и открытие подключения. Этот метод требует указания учетных данных для входа. Подключение находится в другом сеансе базы данных, отличном от хранимой процедуры или функции, у него могут быть разные параметры SET
, он находится в отдельной транзакции, он не отображает временные таблицы и т. д.
Если в процессе SQL Server выполняется управляемая хранимая процедура или код функции, это связано с тем, что кто-то подключен к серверу и выполнил инструкцию SQL для вызова. Вероятно, требуется, чтобы хранимая процедура или функция выполнялись в контексте этого соединения, а также ее транзакция, SET
параметры и т. д. В этом состоит так называемое контекстное соединение.
Контекстное соединение позволяет выполнять инструкции Transact-SQL в том же контексте, в каком первоначально был вызван конкретный код. Чтобы получить подключение к контексту, необходимо использовать ключевое слово строки подключения контекста, как показано в следующем примере.
using(SqlConnection connection = new SqlConnection("context connection=true"))
{
connection.Open();
// Use the connection
}
В этом разделе
Статья | Описание |
---|---|
контекстные подключения и обычные подключения | Описывает разницу между регулярными и контекстными соединениями. |
Ограничения контекстных подключений и регулярных подключений | Описывает ограничения регулярных и контекстных соединений. |