千家信息网

创建CLR存储过程是怎样的

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天给大家介绍一下创建CLR存储过程是怎样的。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。下面叙述了创建CLR存储过程
千家信息网最后更新 2026年10月31日创建CLR存储过程是怎样的

今天给大家介绍一下创建CLR存储过程是怎样的。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。

下面叙述了创建CLR存储过程,从理论到实践,笔者把代码做了清晰地解释,能保证你能明白,希望通过此文能给你带来帮助。

首先,打开Visual Studio,点击"创建"->"Visual C# "->"数据库"->"SQL Server 项目"。选择完成后,会自动弹出一个数据库连接的窗口,按照你的实际情况选择吧,这里没什么不同,就不多说了。按照这个步骤就可以创建一个新的SQL Server项目。

其次,右击项目名称,点击"添加"->"CLR存储过程",这时会项目里会多出一个.cs文件。编辑一下。

using System;  using System.Data;  using System.Data.SqlClient;  using System.Data.SqlTypes;  using Microsoft.SqlServer.Server;  public partial class Test  {      [Microsoft.SqlServer.Server.SqlProcedure]      public static void StoredProcedures()      {          // 在此处放置代码          SqlPipe sp = SqlContext.Pipe;          string sql = "Select * from [Table_1]";          using (SqlConnection conn = new SqlConnection("context connection=true"))          {              conn.Open();              SqlCommand cmd = new SqlCommand();              cmd.CommandType = CommandType.Text;              cmd.Connection = conn;              cmd.CommandText = sql;              SqlDataReader rdr = cmd.ExecuteReader();              sp.Send(rdr);              conn.Close();          }      }  };

第16行:using (SqlConnection conn = new SqlConnection("context connection=true")) 是指"上下文连接"可以让你使用当前登录到数据库的用户作为你的登录数据库的验证信息。

编辑完成后,我们可以编译一下,如果编译通过。我们就可以将其部署到SQL Server上了。右击项目名称,选择"部署"就OK了。当然直接"运行",系统也会自动部署它的。

这个时候,如果我们在SQL Server中执行我们的CLR存储过程,恐怕它会提示有错误。"禁止在 .NET Framework 中执行用户代码。启用 "clr enabled" 配置选项。
"这个时候,我们需要执行下面这段脚本

--在Sql Server中执行这段代码可以开启CLR  exec sp_configure 'show advanced options', '1';  go  reconfigure;  go  exec sp_configure 'clr enabled', '1'  go  reconfigure;  exec sp_configure 'show advanced options', '1';  go

现在好了。再次执行CLR存储过程"Exec StoredProcedures"。就完成了。

Transact-SQL 存储过程与CLR存储过程,基本上没有什么不同,不过CLR存储过程是不能在SQL Server里被"修改"的,选择"Create"、"Alter"等也都是看不到存储过程内部的。真正的内容只能在"SQL Server 项目"中才能看得到。

性能上,我之前试了100000条的数据,同样都是"Select * From 【Table】"Transact-SQL 存储过程用了大约8秒钟,而CLR存储过程用了大约9~10秒钟,所以肯定还是Transact-SQL 存储过程会比CLR存储过程稍快些。

以上就是创建CLR存储过程是怎样的的全部内容了,更多与创建CLR存储过程是怎样的相关的内容可以搜索之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下!

过程 存储 项目 数据 代码 内容 数据库 选择 文章 不同 名称 时候 更多 用户 帮助 登录 编译 不错 没什么 上下 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 中关村互联网 科技集团 没上市的科技互联网公司 万易互联网科技有限公司 上游互联网科技 互联网 科技馆 互联网实体化科技化 互联网科技博主是什么意思 字节跳动和互联网科技 汽车互联网创新科技园 互联网企业和科技型企业 互联网和黑科技的看法 新兴科技互联网创新大赛颁奖典礼 苏州铭阳互联网科技有限公司 雨阳互联网卡科技有限公司 广州千川互联网科技有限公司 九思连强互联网电子科技有限公司 10位科技互联网大佬 长沙易易互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 金融科技 互联网金融 顺玮阁互联网科技 多迪互联网科技有限公司 华脉科技工业互联网产品 互联网科技热点资讯 互联网公司黑科技创始人 互联网科技的全部知识 恒生科技指数 中概互联网 河南商务圈互联网科技有限公司 安徽九吞吴互联网科技有限公司
0