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() + " --- 章立民研究室向您问好!";
}
}
}
{
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存储过程所实际呼叫的对象。
8.按一下工具列中的「储存」按钮。
9. 如图表4所示,使用鼠标连按两下「方案总管」中的Properties节点,一开始会显示出「应用程序」索引卷标页面,您可以去设定组件名称与跟命名空间。不过以本实作演练而言,请采用默认值,不要更改。
图表4
10. 按一下左侧的「编译」索引卷标来切换至其页面,并且将「建置输出路径」设定成 bin\(如图表5所示),然后按一下工具列中的「储存」按钮。
图表6
11.从「建置」菜单中选取「建置SayHello」指令。
12.好的,我们现在已经完成组件的建置作业,现在必须回到SQL Server Management Studio中,以便登录组件并建立指向该组件的存储过程.