上下文连接
适用范围: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
本节内容
常规连接与上下文连接
说明常规连接和上下文连接之间的差异。
对常规连接和上下文连接的限制
说明常规连接和上下文连接的限制。