从 CLR 数据库对象访问数据

公共语言运行时(CLR)例程可以轻松访问存储在 SQL Server 实例中运行的数据,以及存储在远程实例中的数据。 例程可以访问的特定数据由运行代码的用户上下文确定。 使用托管客户端和中间层应用程序的用于 SQL Server 数据的 .NET Framework 数据提供程序从 CLR 数据库对象中访问数据。 因此,可以利用对 ADO.NET 和 SqlClient 客户端和中间层应用程序中的知识。

注释

默认情况下,不允许用户定义类型方法和用户定义函数执行数据访问。 必须将 DataAccessSqlMethodAttributeSqlFunctionAttribute 属性设置为 DataAccessKind.Read 才能从用户定义的类型(UDT)方法或用户定义的函数启用只读数据访问。 不允许 UDT 或用户定义的函数执行数据修改作,并在执行时(如果尝试)引发异常。

本节只讨论当从 CLR 数据库对象中访问数据时特定的功能差异和行为差异。 有关 ADO.NET 的特性和功能的详细信息,请参阅 .NET Framework SDK 随附的 ADO.NET 文档。

下表列出了本节中的主题。

上下文连接
介绍与 SQL Server 之间的上下文连接。

连接模拟和凭据
介绍模拟连接和连接凭据。

SQL Server In-Process ADO.NET 的特定扩展
讨论进程内特定的 SqlPipeSqlContextSqlTriggerContextSqlDataRecord 对象。

CLR 集成和事务
介绍 System.Transactions 命名空间中提供的新事务框架如何与 ADO.NET 和 SQL Server CLR 集成集成。

从 CLR 数据库对象进行 XML 序列化
介绍如何在 SQL Server 中启用 CLR 数据库对象的 XML 序列化方案。