• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Sql2008中添加程序集.

mysql 搞代码 4年前 (2022-01-09) 12次浏览 已收录 0个评论

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

<link href=”/js/syntaxhighlighter/common2_cnblogs.css” rel=”stylesheet” type=”text/css” />

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';goreconfigure;goexec sp_configure 'clr enabled', '1'goreconfigure;exec sp_configure 'show advanced options', '1'; go  ALTER DATABASE DB_Name set TRUSTWORTHY on;go

  数据库添加程序集:

create assembly MyClrfrom 'R:\MyApp\MyClr\MyClr\bin\Debug\MyClr.dll'WITH permission_set = Safe;

  数据库添加函数映射

create function ClrFBitContains( @val as nvarchar(4000) , @RowIndex as  int )returns bitas   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的程序差不多主要就是方法上加了一个属性 ()

二:部署程序集到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 Se本文来源gaodai#ma#com搞*!代#%^码网%rver 2005用的Assembly

一:打开Visual Studio 2005新建项目类型为数据库的sqlserver项目

二:创建所需要的存储过程,函数等

三:编译该项目

四:部署该项目(此时我们打开sqlserver相应的数据库可以看到存储过程目录及程序集等目录下有相应创建的对象了)


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Sql2008中添加程序集.

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址