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水印