从 CLR 数据库对象访问数据

适用范围:SQL Server

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

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

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

下表列出了本节中的文章。

描述
上下文连接 介绍与 SQL Server 之间的上下文连接。
连接 模拟和凭据 介绍模拟连接和连接凭据。
SQL Server 进程内特定扩展 ADO.NET 讨论进程内特定的 SqlPipeSqlContextSqlTriggerContextSqlDataRecord 对象。
CLR 集成和事务 介绍 System.Transactions 命名空间中提供的新事务框架如何与 ADO.NET 和 SQL Server CLR 集成集成。
从 CLR 数据库对象进行 XML 序列化 介绍如何在 SQL Server 中启用 CLR 数据库对象的 XML 序列化方案。