欢迎来到天天文库
浏览记录
ID:34739722
大小:93.23 KB
页数:5页
时间:2019-03-10
《使用创建sqlserver存储过程和函数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程、触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQL Server中启用CLR,所以一直没有尝试。最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得。首先要说明的是要在SQL Server中启用CLR必须是在SQL Server2005及以上版本,其次在默认情况下是没有启用CLR的,必须要显示设置为启用。比如我们要在ArticleCollectorDB数据库中运行用
2、.NET编写的函数或者存储过程,至少先要进行下面的SQL语句:[sql] viewplaincopy1.exec sp_configure 'clr enabled', 1;--在SQL Server中启用CLR 2.reconfigure; 3.go 4.--在ArticleCollectorDB数据库中设置TRUSTWORTHY为ON 5.ALTER DATABASE [ArticleCollectorDB] SET TRUSTWORTHY ON 这时可能会得到提示要重新启动SQL S
3、erver,如果有此提示则重新启动一下。接着我们在VS中进行编码,在这里我们将分别编写一个名为IsMatch的函数和一个名为SendMail存储过程。在VS中创建一个名为NetSkycn.Data的类库项目,添加一个SqlCLR的类,代码如下:[csharp] viewplaincopy1.using System.Data.SqlTypes; 2.using System.Net; 3.using System.Net.Mail; 4.using System.Security.Permis
4、sions; 5.using System.Text.RegularExpressions; 6.using Microsoft.SqlServer.Server; 7.namespace NetSkycn.Data 8.{ 9. /// 10. /// 在SQL Server环境中执行的CLR方法,注意提供给SQL Server调用的方法必须有SqlFunction/SqlProcedure Attribute 11. /// 作者:周公 12
5、. /// 创建日期:2012-05-09 13. /// 博客地址:http://blog.csdn.net/zhoufoxcn http://zhoufoxcn.blog.51cto.com 14. /// 新浪微博地址:http://weibo.com/zhoufoxcn 15. /// 16. public sealed class SqlCLR 17. { 18. /// 19.
6、 /// 判断字符串是否匹配正则表达式 家用吸氧机价格1. /// 2. /// 要匹配的文本 3. /// 进行匹配的正则表达式 4. /// 正则表达式匹配选项,1为忽略大小写,2为多行匹配,3为忽略大小写且多行匹配 5.
7、 /// 6. [SqlFunction(IsDeterministic = true, DataAccess = DataAccessKind.None)] 7. public static SqlBoolean IsMatch(string source, string pattern,int options) 8. { 9. if (string.IsNullOrEmpty
8、(source)
9、
10、 string.IsNullOrEmpty(pattern)) 10. { 11. return SqlBoolean.False; 12. } 13. RegexOptions regexOptions=RegexOptions.None; 14. int optionIgnoreCase = 1; 15.
此文档下载收益归作者所有