首页 > 其他 > 详细

简单创建与布署CLR存储过程

时间:2015-03-27 17:11:15      阅读:271      评论:0      收藏:0      [点我收藏+]

今天的博文是学习CLR存储过程,一个简单的例子,学会怎样创建,编译,布署在SQL中。CLR能做一些T-SQL无法做的事情,很多情况之后,它比T-SQL快。

打开VS2013,创建一个新专案,参考下面5个步骤:
技术分享

 

如果你想写好的CLR存储过程布署在SQL2008上,上面标记2选择.NET Framework3.5。

创建一个新item:
技术分享


创建一个存储过程的类别:
技术分享

 

点击标记12的铵钮之后,在VS中将产生一个空白的存储过程类别:
技术分享

 

接下来,我们就可以在标记13处写存储过程了。
技术分享



下面是可复制代码:

技术分享
SqlConnection connection = new SqlConnection("context connection=true");
connection.Open();
string sql = "SELECT [Fruit_nbr],[FruitKind_nbr], [FruitName] FROM [dbo].[Fruit]";
SqlCommand command = new SqlCommand(sql, connection);
SqlDataReader reader = command.ExecuteReader();

SqlContext.Pipe.Send(reader);
View Code


BUILD Soluton:
技术分享


Build成功,可以看到output信息:
技术分享

下面是对SQL的操作,打开Microsoft SQL Server Management Studio 2014,找到对应的数据库,然后按标记1至标记4进行操作,标记3是按mouse右键才能显示标记4。
技术分享

 
在Assembly对话窗口中,在标记1中,找到刚才编译好的DLL,然后点标记3"OK"铵钮即可。
技术分享


在数据库的中,可看到添加好的Assembly:
技术分享



OK,最后一个步骤布署,创建存储过程:
技术分享

 

成功之后,我们会到一个带一把锁的存储过程:
技术分享


大功告成!!!
运执行一下我们创建好的CLR存储过程EXECUTE [dbo].[GetFruitAll],它没有预期结果,出现一个异常:
Execution of user code in the .NET Framework is disabled. Enable "clr enabled" configuration option.
技术分享


此时,我们需要

Enabling CLR Integration 

技术分享
sp_configure clr enabled, 1
GO
RECONFIGURE
GO
View Code


再次执行CLR存储过程,得到我们想要的结果:
技术分享

 

简单创建与布署CLR存储过程

原文:http://www.cnblogs.com/insus/p/4371762.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!