码迷,mamicode.com
首页 > 数据库 > 详细

在SQL Server引用dll的流程

时间:2015-03-10 00:02:27      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

在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

  

在SQL Server引用dll的流程

标签:

原文地址:http://www.cnblogs.com/WEI-CONG/p/4324715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!