在SQL Server中引用dll分为两个步骤
1.创建一个dll文件
2.把dll文件放进SQL Server的程序集中。然后定义一个Function,就可以通过该Function来引用dll中的函数。
创建一个dll文件
1.点击“文件”->“新建”->“项目”->类库,把命名空间改成StringHelp,添加如下代码
namespace StringHelp //命名空间 { public class ClassConvert //类名 { //把输入的字符串中的小写字母变成大写字母 public static string ToUpper(string vInputString) //函数必须为静态函数,应为静态函数不用实例化类就可以调用 { return vInputString.ToUpper(); } } }
2.右击“项目”,点击”生成“或者直接按F6
3.右击“项目”,点击“在文件资源管理系统中打开文件夹”,点击bin->debug,然后就会看到一个StringHelp.dll文件。
在SQL中引用dll文件
1.引入dll文件
使用SQL语句 create assembly TestDll from ‘C:\Users\聪\Documents\Visual Studio 2012\Projects\StringHelp\StringHelp\obj\Debug\StringHelp.dll‘
其中TestDll是你在数据库中为这个程序集起的名字。
注意,如果你的dll文件中,引用了其dll文件,那么必须在引入dll之前,先引用其程序集。如你的dll文件使用到了system.web dll文件,那么必须在引用TestDll之前
以同样的方法引用system.web dll文件。
2.创建一个Function,使用该dll文件
使用如下SQL语句
CREATE FUNCTION dbo.ToUpper --该函数名字 ( @InputString as nvarchar(500) ) RETURNS nvarchar(200) --返回类型 AS EXTERNAL NAME TestDll.[StringHelp.ClassConvert].ToUpper
注意一下标红的那几个单词。
TestDll是指你程序集中dll的名称。
StringHelp是指dll文件中那个类的命名空间
ClassConvert是指dll文件中那个类的类名
ToUpper是指dll文件中那个被调用的静态方法
最后,便可以这样来调用该函数
print dbo.ToUpper(‘abc‘)
输出的结构为ABC
每天进步一点点
2015-03-09