WEB开发网
开发学院数据库MSSQL Server 使用 SQL Server 2005 中的 SQLCLR 处理 XML Show... 阅读

使用 SQL Server 2005 中的 SQLCLR 处理 XML Showplan

 2007-05-13 09:24:45 来源:WEB开发网   
核心提示: 实现该解决方案1.附录 B 包含一个 Visual C# 程序,该程序以 XML 格式从 SQL Server 提取 showplan,使用 SQL Server 2005 中的 SQLCLR 处理 XML Showplan(6),然后将提取的 showplan 返回客户端,与解决方案 1

实现该解决方案

1.

附录 B 包含一个 Visual C# 程序,该程序以 XML 格式从 SQL Server 提取 showplan,然后将提取的 showplan 返回客户端。与解决方案 1 的第一步类似,以下命令行可用于将该程序编译为 DLL。该命令生成一个名为 ReturnShowplanXML.dll 的 DLL。

csc.exe
/out:ReturnShowplanXML.dll
/target:library
/reference:System.dll
/reference:System.Data.dll
/reference:sqlaccess.dll
ReturnShowplanXML.cs

与前面解决方案的第一步类似,应将 和 分别替换为指向 Microsoft .NET Framework 位置和 SQL Server 2005 安装位置的二进制文件的正确路径。

2.

下一步,使用由客户端(如 SQL Server 2005 Management Studio)发布的以下 Transact-SQL 命令,让 SQL Server 2005 知道该程序集 (ReturnShowplanXML.dll)。

use AdventureWorks
go
CREATE ASSEMBLY ReturnShowplanXML
FROM 'ReturnShowplanXML.dll'
go

将 替换为指向您在该过程的步骤 1 中编译 DLL 的位置的路径。

3.

在已注册程序集 (ReturnShowplanXML.dll) 中创建引用外部 CLR 方法的用户定义存储过程。

CREATE PROCEDURE dbo.ReturnXMLShowplan
(
@tsqlStmt  NVARCHAR(MAX), 
@retPlanXML NVARCHAR(MAX) OUT
)
AS EXTERNAL NAME ReturnShowplanXML.xmlshowplanaccess.GetXMLShowplan
go

@tsqlStmt 参数将包含一个查询,并且将使用 OUT 参数 @retPlanXML 以 XML 格式返回 showplan。

4.

客户端使用如下代码来调用 CLR 用户定义的过程:

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:使用 SQL Server

编辑录入:coldstar [复制链接] [打 印]
赞助商链接