如何使用CLR存储过程来传回讯息
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍如何使用CLR存储过程来传回讯息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!CLR存储过程存放于类别库项目 SendYouDataReader 中,它示范如何
千家信息网最后更新 2025年01月20日如何使用CLR存储过程来传回讯息
这篇文章主要介绍如何使用CLR存储过程来传回讯息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
CLR存储过程存放于类别库项目 SendYouDataReader 中,它示范如何使用 SqlPipe 对象的 Send 方法将查询结果(也就是 SqlDataReader 类别对象)直接传送至客户端。特别要再次说明的是,虽然 Send 方法的执行效率略低于 ExecuteAndSend 方法,但是在数据被传送至客户端之前,Send 方法能够提供***的弹性来处理数据,换句话说,如果您希望传送先前通过同处理序(In-Process)提供者所执行的查询结果,或是想要利用 SqlDataReader 的自订实作来预先处理数据,请使此多载版本的 Send 方法。完成之后的程序代码如下所示:
using Microsoft.SqlServer.Server; namespace SendYouDataReader { public class SendYouDataReaderClass { [Microsoft.SqlServer.Server.SqlProcedure()] public static void SendYouDataReader(decimal LowerSalary, decimal HigherSalary) { SqlCommand cmd; SqlDataReader dr; // 使用内容连接来进行连接。 using (SqlConnection connection = new SqlConnection("context connection=true")) { connection.Open(); cmd = new SqlCommand( "SELECT 员工编号,姓名,目前薪资 FROM dbo.章立民研究室 " + "WHERE 目前薪资 BETWEEN @LowerSalary AND @HigherSalary", connection); cmd.Parameters.AddWithValue("@LowerSalary", LowerSalary); cmd.Parameters.AddWithValue("@HigherSalary", HigherSalary); dr = cmd.ExecuteReader(); // 呼叫 SqlPipe 对象的 Send 方法将查询结果直接传送给客户端 SqlContext.Pipe.Send(dr); } } } }
请执行如下所示之 SQL 指令,登录组件 SendYouDataReader.dll、建立一个参考所登录之组件 SendYouDataReader.dll 的存储过程、然后执行此 CLR 存储过程,执行结果如图表 1 所示:
USE 北风贸易; GO IF EXISTS (SELECT * FROM sys.procedures WHERE [name] = 'SendYouDataReader') DROP PROCEDURE SendYouDataReader; GO IF EXISTS (SELECT * FROM sys.assemblies WHERE [name] = 'SendYouDataReader') DROP ASSEMBLY SendYouDataReader; GO -- 登录组件SendYouDataReader.dll CREATE ASSEMBLY SendYouDataReader FROM 'C:\SQL2005Demo\CH13\SendYouDataReader\SendYouDataReader\bin\ SendYouDataReader.dll' WITH permission_set = Safe; GO -- 建立一个会参考所登录之组件SendYouDataReader.dll 的存储过程 CREATE PROCEDURE dbo.SendYouDataReader ( @LowerSalary money, @HigherSalary money ) AS EXTERNAL NAME SendYouDataReader.[SendYouDataReader.SendYouDataReaderClass].SendYouDataReader; GO EXEC sp_configure 'clr enabled', '1'; GO RECONFIGURE; GO DECLARE @return_value int -- 执行CLR 存储过程 EXECUTE @return_value = dbo.SendYouDataReader @LowerSalary = 50000, @HigherSalary = 70000;
以上是"如何使用CLR存储过程来传回讯息"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
过程
存储
方法
组件
结果
登录
内容
客户
客户端
对象
数据
参考
处理
查询
讯息
篇文章
类别
薪资
也就是
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
往服务器上传输文件
小学生网络安全作文题目
监听器获取请求的数据库
玉田海航软件开发
软件开发与硬件哪个好
吉林大学网络安全专业
手机平台软件开发o2o
php 写入数据库时间
网络安全法解读五百字
继网络安全后的下一个风口
数据库导入出现下标越界
自己拥有服务器怎么接入互联网
软件开发banner
遍历数据库并且
vfp数据库扩展名
服务器云主机安全吗
安全狗服务器版怎么样
使用什么方法查看服务器cpu
深圳工业软件开发靠谱吗
教职工宣传网络安全活动总结
网络技术在汽车上主要用于
定制网络技术服务计划表
武汉网站建设软件开发
服务器电脑好不好
网络安全响应技术
网络安全靠人民的手抄报字
网络技术专业的了解
服务器监控软件 警报
数据库事务自动和手动提交
上市公司数据库查询