上下文连接

内部数据访问问题是一种非常常见的情况。 即您希望访问正在执行公共语言运行时 (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  
  

本节内容

常规连接与上下文连接
说明常规连接和上下文连接之间的差异。

对常规连接和上下文连接的限制
说明常规连接和上下文连接的限制。