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

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

你可能感兴趣的:(sql)