千家信息网

SQL Server中怎么创建CLR存储过程

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章将为大家详细讲解有关SQL Server中怎么创建CLR存储过程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在2005之前的版本创建存储过程
千家信息网最后更新 2024年11月11日SQL Server中怎么创建CLR存储过程

这篇文章将为大家详细讲解有关SQL Server中怎么创建CLR存储过程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在2005之前的版本创建存储过程都是在数据库里面写Transact-SQL语言实现的,不过现在SQL Server 2005支持用其他面向对象的语言编写CLR存储过程了,关于这样做的好处,官方有很多解释了,这里就直接说明实现方法了。假设服务器里面有个test数据库,数据库有个架构user,还有一个表test1,然后有个sql登陆用户叫test_user,将这个用户设置成VS2005里面数据库连接的登陆用户。在VS2005中创建一个项目,类别是SQL Server数据库项目,然后往项目里面添加一个存储过程。接着在该文件里面编写如下存储过程代码:复制代码 代码如下: using System.Data.SqlClient;using System.Data.SqlTypes;using Microsoft.SqlServer.Server;public partial class StoredProcedures{ [Microsoft.SqlServer.Server.SqlProcedure] public static void SelectAll() { using (SqlConnection connection = new SqlConnection("context connection=true")) { connection.Open(); SqlCommand command = new SqlCommand("SELECT * FROM [user].test1", connection);

SqlContext.Pipe.ExecuteAndSend(command); } }};

将上面代码保存,命名为testProcedure.cs文件。接着有2中方法想数据库里面添加这个存储过程。

1. 打开.NET的命令行工具,然后将testProcedure.cs编译成dll程序集testProcedure.dllcsc /t:library /out:testProcedure.dll testProcedure.cs 接着打开数据库test,在数据库里面的程序集右键菜单中点击"添加新的程序集"项,然后浏览刚刚编译好的testProcedure.dll程序集。这样就添加了这个程序集,接着新建sql查询,在里面创建一个存储过程如下:CREATE PROCEDURE [user].SelectAllAS EXTERNAL NAME testProcedure.StoredProcedures.SelectAllGO执行上面的查询语句后,就在数据库中成功添加了一个CLR存储过程。注意上面的测试存储过程是没有参数的,如果有的话,那么数据库中的存储过程原型必须和CLR语言中的原型一样。推荐使用这个方法创建CLRC存储过程。

2. 使用VS来自动为sql创建存储过程。 编写一个调试脚本添加到项目里面,脚本可以只是简单执行编好的存储过程。然后将上面的项目编译并生成然后部署即可,还可以启动调试来完成。VS会自动为数据库添加相应的存储过程。不过第一种方法更加灵活和可靠。另外使用第2种方法如果出现 错误:用户未能执行存储过程 sp_enable_sql_debug这可能是由于:

•连接问题。需要有一个到服务器的稳定连接。

•在服务器上缺少必要的权限。若要在 SQL Server 2005 上调试,运行 Visual Studio 的帐户和用于连接 SQL Server 的帐户都必须是 sysadmin 角色的成员。用于连接 SQL Server 的帐户要么是 Windows 用户帐户(如果您正在使用 Windows 身份验证),要么是具有用户 ID 和密码的帐户(如果您使用 SQL 身份验证)。

也就是说那个test_user必须是sysadmin角色才行。

关于SQL Server中怎么创建CLR存储过程就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

过程 存储 数据 数据库 用户 帐户 方法 程序 项目 代码 面的 服务器 语言 服务 编译 内容 原型 文件 文章 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 干部网络安全简报 江苏采购管理软件开发平台 数据库报错207 松江区第三方软件开发信息推荐 混沌起源各个版本的服务器 企业应强调网络安全意识 公司内网服务器管理制度 江西统一软件开发服务价钱 明清黄花梨紫檀家具存世量数据库 j2ee 修改数据库连接 成都网络安全工程师薪资 国防科技大学网络安全技术怎样 网络安全岗位应聘 上海技术网络技术出厂价格 公安部网络安全等级保护 数据库放在哪里才能读取到 国家网络安全提出4招 手机如何取消连接服务器的密码 什么是数据库的三个主要区域 软件开发地图有哪些类型 oracle数据库表备份 赤峰市天气预报软件开发 大连软件开发培训哪个好 类别树形结构数据库设计 辽宁飞腾服务器单价 网络安全专业研究生好考吗 2018网络安全会议 西双版纳服务器回收报价 计算机网络技术要学习什么科目 豪华suv汽车销量数据库
0