SQL Server 2005 - 实作CLR存储过程
2007-11-11 11:26:48 来源:WEB开发网(标准化越来越近了):namespace prefix = o />
1. 如图表1所示,选取Microsoft Visual Studio 2005菜单指令来开启Visual Studio 2005的整合式开发环境。
图表1
2. 从「项目」菜单中选取「新增/项目」指令。
3. 如图表2所示,选取「类别库」模板,然后依序指定项目名称(SayHello)、存放位置、以及方案名称(SayHello)之后,按一下「确定」按钮。
(WINDOWS平台上强大的数据库平台) 2005 - 实作CLR存储过程(图二)" />
图表2
4. 于Visual Studio 2005整合式开发环境的「方案总管」中,使用鼠标右键按一下预设建立的Class1.cs并从快捷菜单中选取「删除」指令以便将它删除。
5. 从「项目」菜单中选取「加入新项目」指令。
6. 如图表3所示,于「加入新项目」对话框中,选取「类别」模板,然后以SayHelloClass.cs作为类别档的文件名称,然后按一下「加入」按钮。
(WINDOWS平台上强大的数据库平台) 2005 - 实作CLR存储过程(图三)" />
图表3
7. 于程序代码编辑器中,将SayHelloClass类别的程序代码改写如下:
using Microsoft.SqlServer.Server;
namespace SayHello
{
public class SayHelloClass
{
[Microsoft.SqlServer.Server.SqlProcedure()]
public static void SayHello(ref string greeting)
{
SqlMetaData columnInfo = new SqlMetaData("问候", SqlDbType.NVarChar, 12);
SqlDataRecord greetingRecord = new SqlDataRecord(new SqlMetaData[] { columnInfo });
greetingRecord.SetString(0, "大家好,我是章立民!");
// 呼叫 Pipe 对象的 Send 方法将单一数据列结果集(也就是 SqlDataRecord 对象)
// 直接传送给客户端。
SqlContext.Pipe.Send(greetingRecord);
// 将文字符串指派给输出参数。
greeting = "现在时间是 " + DateTime.Now.ToString() + " --- 章立民研究室向您问好!";
}
}
}
上述程序代码中的SayHello程序是一个公用静态方法,而它也就是CLR存储过程所实际呼叫的对象。
更多精彩
赞助商链接