Контекстное соединение
Применимо к:SQL Server
Проблема внутреннего доступа к данным встречается довольно часто. Речь идет о тех ситуациях, когда необходимо получить доступ к тому же серверу, на котором выполняется конкретная хранимая процедура или функция среды CLR. Один из вариантов — создать подключение с помощью System.Data.SqlClient.SqlConnection, указать строку подключения, указывающую на локальный сервер, и открыть подключение. В этом случае требуется указать учетные данные для входа в систему. Соединение находится в сеансе базы данных, отличном от хранимой процедуры или функции, оно может иметь другие параметры SET , находится в отдельной транзакции, не видит временные таблицы и т. д. Если управляемая хранимая процедура или функция выполняется в процессе SQL Server, причина этого состоит в том, что кто-то соединился с этим сервером и выполнил инструкцию SQL для вызова соответствующего процедуры или функции. Вероятно, вы хотите, чтобы хранимая процедура или функция выполнялись в контексте этого соединения, а также его транзакции, параметры SET и т. д. В этом состоит так называемое контекстное соединение.
Контекстное соединение позволяет выполнять инструкции Transact-SQL в том же контексте, в каком первоначально был вызван конкретный код. Для получения контекстного соединения необходимо использовать ключевое слово «context connection» строки соединения, как в примере ниже:
[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
В этом разделе
Обычные и Контекстные соединения
Описывает разницу между регулярными и контекстными соединениями.
Ограничения обычных и контекстных соединений
Описывает ограничения регулярных и контекстных соединений.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по