在SQL Server引用dll的流程

发表于:2015-3-10 10:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:WEI_聪    来源:51Testing软件测试网采编

  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
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号