今天的博文是学习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);

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

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

简单创建与布署CLR存储过程的更多相关文章

  1. 带OUTPUT参数的CLR存储过程

    前面写了一篇<带参数的CLR存储过程>http://www.cnblogs.com/insus/p/4373605.html ,如果我们需要创建一个带OUTPUT返回值. 实现它,可以先了 ...

  2. 带参数的CLR存储过程

    昨天有学习<简单创建与布署CLR存储过程>http://www.cnblogs.com/insus/p/4371762.html,知道怎样创建以及布署至SQL中去. 下面这个范例是实现CL ...

  3. Hadoop学习笔记1-如何简单布署hadoop

    企业机型配置: 选型标准:普通的,廉价的,标准的(容易替换的),工业化大规模生产的 CPU:支持多核CPU,如2个4核CPU 内存:16G以上,内存越大,常用数据都缓存在内存,提高速度 硬盘:不需RA ...

  4. Dokuwiki布署小记

    最近个人写作风格全面转向Markdown模式,但之前使用的Mediawiki并未原生支持,且本人在布署时为了实现其所见即所得的方案和别的一些个性化需求,添加了太多插件和自定义设置,两年多过去了,很多设 ...

  5. 学习Linux系列--布署常用服务

    本系列文章记录了个人学习过程的点点滴滴. 回到目录 10.mediawiki 知名开源维基框架,我用来构建自己的知识库. 在mediawiki中新建一个http.conf文件 sudo vim /op ...

  6. 布署配置管理中心apollo

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. 服 ...

  7. django基础知识之布署:

    布署 从uwsgi.nginx.静态文件三个方面处理 服务器介绍 服务器:私有服务器.公有服务器 私有服务器:公司自己购买.自己维护,只布署自己的应用,可供公司内部或外网访问 公有服务器:集成好运营环 ...

  8. Ubuntu16.04下KeepAlived+Nginx 布署

    前言         网上已经有很多相关文章,对各种概念介绍的比较清楚,也有各种详细的步骤,这里主要记录本要在ubuntu16.04下的布署过程,主要记录编译安装keepalived时遇到的坑及解决办 ...

  9. 第一篇【Zabbix服务端的完整布署】

    1.环境准备 服务器版本: [root@filestore-v2 ~]# cat /etc/redhat-release CentOS Linux release (Core) 内核版本: [root ...

随机推荐

  1. iOS 学习 - 13.微信分享链接、QQ 分享图片

    准备工作---原文来自这个 首先要在微信开放平台申请 AppID 和 QQ ID(我第一天晚上申请的,第二天中午就通过了),接着导入 SDK,也就是3个 .h 和一个 .a 文件,详情见这里 如果你是 ...

  2. 认识Activity,创建第一个android应用-Hello Word

    2016-04-05 配置好Java.eclipse和Android环境就花费了一天时间.下载SDK真是费了不少时间.现在终于找到解决SDK更新的好方法了(更新自己电脑上的hosts文件,就可以使用G ...

  3. 截取UIImage指定大小区域

    截取UIImage指定大小区域 最近遇到这样的需求:从服务器获取到一张照片,只需要显示他的左半部分,或者中间部分等等.也就是截取UIImage指定大小区域. UIImage扩展 我的解决方案是对UII ...

  4. vs 只能没有智能提示的解决方法

    我vs今天出现一点比较诡异的情况,莫名奇妙就不能自动生成我拖的控件的后端代码了(****.aspx.designer.cs) 我在网上找了下,找到一个解决方法,这里把解决方法贴下来. 网上解决方法的出 ...

  5. Linux PHP5.3升级PHP5.5.33 (CentOS)

    由于要使用了laravel5.1,php要升级到5.5以上.具体环境是Aliyun Cent OS 7.0.由于阿里的yum源lastest只有5.4,laravel5.1必须php5.5,加了几个网 ...

  6. What Need To Do when A Node down!

    就以pdsp node3 down了为例,如下 ==========================START===================================== The Who ...

  7. js 求时间差

    var date1=new Date();  //开始时间 var date2=new Date();    //结束时间 var date3=date2.getTime()-date1.getTim ...

  8. SQL Server:孤立用户详解

    SQL Server 的用户安全管理分两层,整个SQL Server 服务器一层,每个数据库一层. 在服务器层的帐号,叫登录账户(SQL Server:服务器角色),可以设置它管理整个SQL Serv ...

  9. SQL Server:字符串函数

    以下所有例子均Studnet表为例: 1. len():计算字符串长度 len()用来计算字符串的长度,每个中文汉字或英文字母都为一个长度 select sname, len(sname) from ...

  10. 【转】RHadoop实践系列之二:RHadoop安装与使用

    RHadoop实践系列之二:RHadoop安装与使用 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法, ...