公共语言运行时(CLR)例程可以轻松访问存储在 SQL Server 实例中运行的数据,以及存储在远程实例中的数据。 例程可以访问的特定数据由运行代码的用户上下文确定。 使用托管客户端和中间层应用程序的用于 SQL Server 数据的 .NET Framework 数据提供程序从 CLR 数据库对象中访问数据。 因此,可以利用对 ADO.NET 和 SqlClient
客户端和中间层应用程序中的知识。
注释
默认情况下,不允许用户定义类型方法和用户定义函数执行数据访问。 必须将 DataAccess
或 SqlMethodAttribute
的 SqlFunctionAttribute
属性设置为 DataAccessKind.Read
才能从用户定义的类型(UDT)方法或用户定义的函数启用只读数据访问。 不允许 UDT 或用户定义的函数执行数据修改作,并在执行时(如果尝试)引发异常。
本节只讨论当从 CLR 数据库对象中访问数据时特定的功能差异和行为差异。 有关 ADO.NET 的特性和功能的详细信息,请参阅 .NET Framework SDK 随附的 ADO.NET 文档。
下表列出了本节中的主题。
上下文连接
介绍与 SQL Server 之间的上下文连接。
连接模拟和凭据
介绍模拟连接和连接凭据。
SQL Server In-Process ADO.NET 的特定扩展
讨论进程内特定的 SqlPipe
、SqlContext
、SqlTriggerContext
和 SqlDataRecord
对象。
CLR 集成和事务
介绍 System.Transactions 命名空间中提供的新事务框架如何与 ADO.NET 和 SQL Server CLR 集成集成。
从 CLR 数据库对象进行 XML 序列化
介绍如何在 SQL Server 中启用 CLR 数据库对象的 XML 序列化方案。