如何使用CLR存储过程来传回讯息
发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,这篇文章主要介绍如何使用CLR存储过程来传回讯息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!CLR存储过程存放于类别库项目 SendYouDataReader 中,它示范如何
千家信息网最后更新 2024年10月27日如何使用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安全错误
数据库的锁怎样保障安全
数据库期末南京农业大学
软件开发类的网店名字怎么起
跳转代理服务器
迅恒网络技术
美团骑手app软件开发
2000W数据库系统
单位网络安全检查登记表
网络安全是在法律合规下保护
服务器带宽不够导致cpu跑满吗
陕西网信未来网络技术有限公司
计算机网络安全专业的证书
艺术品交易软件开发
数据库竖表 2个接口
原神切换服务器2.5版本
数字政府网络安全风险问题
网络安全警示教育片下载
软件开发的swot
linux服务器关机了怎么开
服务器账号和密码是什么
河北超频服务器联系方式
广州物联网软件开发学费
网络安全工作小组建设
db数据库密码
服务器管理redis
腾讯产业互联网科技创新
雷蛇从云服务器同步设置
计算机网络技术女孩学怎么样
考勤系统数据库表设计
服务器怎么设置端口映射csdn
软件开发三人组