zoukankan      html  css  js  c++  java
  • SQL Server中使用CLR调用.NET方法

    为了使用CLR,我们需要做如下几步:
    1、在.NET中新建一个类,并在这个类里新建一个public方法。
    2、编译这个类为一个DLL。
    3、在SQL Server中注册这个DLL。
    4、新建一个SQL Server函数来访问指定的.NET方法。

    HelloWorld示例:
    (1)在Visual Studio中新建一个名为“SQLServerCLRTest”的类库项目。 然后,新建一个名为“CLRFunctions”的类,
    并在其内添加一个名为“HelloWold”的方法,编译后生成一个DLL文件。代码如下:
    public class CLRFunctions
    {
    public static string HelloWorld(string Name)
    {return ("Hello " + Name);}
    }

    (2)启用CLR功能
    exec sp_configure 'clr enabled',1 reconfigure
    go

    (3)注册DLL
    需要在SQL Server中注册刚编译好的DLL。(路径为DLL文件路径)
    CREATE ASSEMBLY asmHelloWorld FROM 'C:SQLServerCLRTest.dll'

    (4)在SQL Server中调用.NET方法
    写一个自定义函数,并在其内使用“EXTERNAL NAME”来通知SQL Server使用CLR功能,CLR方法语法:程序集名.[类名].方法名。
    代码如下:
    CREATE FUNCTION dbo.clrHelloWorld
    (@name as nvarchar(200))
    RETURNS nvarchar(200)
    AS EXTERNAL NAME
    asmHelloWorld.[SQLServerCLRTest.CLRFunctions].HelloWorld
    自定义函数,首先声明一个nvarchar参数(.NET的string类型)(如果设置为
    varchar并且后面使用了“EXTERNAL NAME”会报错)。然后使用“EXTERNAL NAME”来调用.NET方法。

    (5)SELECT dbo.clrHelloWorld('Mark')

  • 相关阅读:
    OpenCV 之 图像平滑
    C++11 之 nullptr
    C++11 之 scoped enum
    C++ 之 常量成员函数
    德国的挑战
    OpenCV 之 直方图处理
    OpenCV 之 霍夫变换
    排序算法之——归并排序(两种方法及其优化)
    排序算法之——快速排序(剖析)
    排序算法之——桶排序
  • 原文地址:https://www.cnblogs.com/Ammy/p/1416463.html
Copyright © 2011-2022 走看看