编写扩展存储过程
![]() |
---|
后续版本的 Microsoft SQL Server 将删除该功能。请不要在新的开发工作中使用该功能,并尽快修改当前还在使用该功能的应用程序。请改用 CLR 集成。 |
过去,程序员使用开放式数据服务编写服务器应用程序,比如到非 SQL 服务器数据库环境的网关。Microsoft SQL Server 不支持开放式数据服务 API 中的过时部分。在原始的开放式数据服务 API 中,SQL Server 仍然支持的唯一部分是扩展存储过程函数,因此该 API 已重命名为扩展存储过程 API。
随着诸如分布式查询和 CLR 集成这样更新和功能更强大的技术的出现,对扩展存储过程 API 应用程序的需求已大幅减少。
![]() |
---|
如果您有现成的网关应用程序,则无法使用 SQL Server 附带的 opends60.dll 运行应用程序。网关应用程序不再受支持。 |
扩展存储过程与 CLR 集成的对比
在 SQL Server 的早期版本中,当数据库应用程序开发人员要编写那些很难表达或不可能用 Transact-SQL 编写的服务器端逻辑时,扩展存储过程 (XP) 为其提供了唯一的机制。CLR 集成为编写这样的存储过程提供了更可靠的替代选择。此外,通过使用 CLR 集成,过去经常以存储过程的形式编写的逻辑现在通常可以更好地表达为表值函数,这样就可以将 SELECT 语句嵌入 FROM 子句中从而使用该 SELECT 语句对该函数所构造的结果进行查询。