Conexão de contexto
Aplica-se: SQL Server
O problema de acesso a dados internos é um cenário bastante comum. Ou seja, você deseja acessar o mesmo servidor no qual sua função ou seu procedimento armazenado CLR (Common Language Runtime) está em execução. Uma opção é criar uma conexão usando System.Data.SqlClient.SqlConnection, especificar uma cadeia de conexão que aponte para o servidor local e abrir a conexão. Isso exige a especificação de credenciais para fazer logon. A conexão está em uma sessão de banco de dados diferente do procedimento armazenado ou função, pode ter opções SET diferentes, está em uma transação separada, não vê suas tabelas temporárias e assim por diante. Se código da função ou do procedimento armazenado gerenciado estiver em execução no processo do SQL Server, isso ocorrerá porque alguém se conectou a esse servidor e executou uma instrução SQL para invocá-lo. Você provavelmente deseja que o procedimento armazenado ou a função seja executado no contexto dessa conexão, juntamente com sua transação, opções SET e assim por diante. Isto é chamado de conexão de contexto.
A conexão de contexto permite executar instruções Transact-SQL no mesmo contexto em que seu código foi invocado pela primeira vez. Para obter a conexão de contexto, use a palavra-chave de cadeia de conexão "context connection", como no exemplo a seguir:
[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
Nesta seção
Conexões regulares vs. de contexto
Descreve as diferenças entre conexões normais e de contexto.
Restrições em conexões comuns e de contexto
Descreve as restrições em conexões normais e de contexto.