首页 / MYSQL / Sql2008中添加程序集.
Sql2008中添加程序集.
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Sql2008中添加程序集.,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2909字,纯文字阅读大概需要5分钟。
内容图文
![Sql2008中添加程序集.](/upload/InfoBanner/zyjiaocheng/534/78efa7e3aee94ccdb2f6ca3a432e54aa.jpg)
C# 建立数据库 CRL 项目 .Net 3.5 public partial class MyClr{ [Microsoft.SqlServer.Server.SqlFunction] public static SqlBoolean CLRFBitContains(string MyBigIntValue, int Row) { // 在此处放置代码 return (new MyBigInt(MyBigIntValue) MyBigInt.C
C# 建立数据库 CRL 项目 .Net 3.5
public partial class MyClr { [Microsoft.SqlServer.Server.SqlFunction] public static SqlBoolean CLRFBitContains(string MyBigIntValue, int Row) { // 在此处放置代码 return (new MyBigInt(MyBigIntValue) & MyBigInt.CreateByBitPositon(Convert.ToUInt32(Row))) == MyBigInt.Zero; } }
数据库初始化:
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 ALTER DATABASE DB_Name set TRUSTWORTHY on; go
数据库添加程序集:
create assembly MyClr from 'R:\MyApp\MyClr\MyClr\bin\Debug\MyClr.dll' WITH permission_set = Safe;
数据库添加函数映射
create function ClrFBitContains ( @val as nvarchar(4000) , @RowIndex as int ) returns bit as external name MyClr.MyClr.CLRFBitContains ;
TestSql:
select dbo.ClrFBitContains('F0F',11)
======================================================
原文很丑: http://www.ej38.com/showinfo/sqlserver-140374.html
在sqlserver中如果要使用一个程序集一般有如下注意事项
一:打开sqlserver 的CLR支持
--在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
二:是否需要访问外部资源,如果需要访问外部资源还需要执行下面的
--打开数据库的TRUSTWORTHY 属性
ALTER DATABASE DB_Name set TRUSTWORTHY on;
**在sqlserver中如果要使用一个程序集一般有两种方法
方法一:通过T-SQL手动将该程序集放入到SQL Server 其步骤如下
一:创建将要使用的程序集.dll
程序上没什么稀奇的,跟普通的ado.net的程序差不多主要就是方法上加了一个属性 (<System.Data.Sql.SqlProcedure(name:="WriteHashedPassword")>)
二:部署程序集到sqlserver
a打开sqlserver中clr中相关的支持(方法如上)
b添加程序集到sqlserver
CREATE assembly SqlServerProject1
authorization dbo
from 'E:\test\dotnet\SqlServerProject1\SqlServerProject1\bin\SqlServerProject1.dll'
with permission_set=external_access
go
c添加存储过程
--添加存储过程
CREATE PROCEDURE [dbo].[存储过程名称]
@from [nvarchar](50), -- 参数列表
@to [nvarchar](50)
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [程序集的名称].[StoredProcedures].[存储过程名称]
d执行存储过程
exec CLRSPTest @sql='select * from t2',@path='e:\a\11.txt'
方法二:通过Visual Studio 2005创建供并部署SQL Server 2005用的Assembly
一:打开Visual Studio 2005新建项目类型为数据库的sqlserver项目
二:创建所需要的存储过程,函数等
三:编译该项目
四:部署该项目(此时我们打开sqlserver相应的数据库可以看到存储过程目录及程序集等目录下有相应创建的对象了)
内容总结
以上是互联网集市为您收集整理的Sql2008中添加程序集.全部内容,希望文章能够帮你解决Sql2008中添加程序集.所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。