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