SQL调用C# dll(第一中DLL,没使用强名称密匙,默认是 safe)

本文详细介绍了如何在SQL Server中整合CLR(Common Language Runtime),包括创建.NET程序集、定义CLR函数并在SQL Server中调用的过程。同时提供了配置CLR支持及执行自定义CLR函数的具体步骤。

https://msdn.microsoft.com/zh-cn/library/ms345106(es-es).aspx

1、新建项目名称SQLDllTest,类代码如下,没有用Using引用其他类:

       (框架必须改为.NET3.5及3.5以下,因为SQL Server 2008只是支持.NET 3.5及一下,.NET 4.0是2010年发布的,不支持也很正常)

namespace SQLDllTest
{
    public class Class1
    {
        public static string GetStr(string par1)
        {
            return par1 + "水印";
        }
    }
}

2、第二步:直接使用SQL语句创建程序集

  

create assembly TestDll from 'D:\SQLDllTest.dll'

3、第三步:

创建一个Function,使用该dll文件

         使用如下SQL语句

CREATE FUNCTION dbo.GetStr  
(
     @InputString as nvarchar(500)
)
RETURNS nvarchar(200)
AS EXTERNAL NAME TestDll.[SQLDllTest.Class1].GetStr

注意一下标红的那几个单词。

TestDll是指你程序集中dll的名称。

SQLDllTest是指dll文件中那个类的命名空间。

Class1是指dll文件中那个类的类名。

GetStr是指dll文件中那个被调用的静态方法。

4、第四步:开启 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

 

 

5、第五步:执行方法:

select dbo.GetStr('hahha') as col1

返回: hahha水印

 

参考:http://www.cnblogs.com/zhongxinWang/p/4211179.html

转载于:https://www.cnblogs.com/huaan011/p/4342246.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值