首页 > 技术文章 > Sql2010 创建程序集

watchfluture 2016-01-19 11:05 原文

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)

推荐阅读