Sql Server CLR函数

Deb*_*jit 8 .net sql-server sqlclr function

在编写CLR函数时,我们可以使用命名空间吗?

namespace SomeName1.SomeName2
{
   public static class SomeClass
   {
       [SqlFunction]
       public static SqlString SomeMethod(SqlString input)
       {
          // ....
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

如果是这样,那么我们如何从SqlServer调用此函数.换句话说,我们如何使用命名空间从SQL Server调用CLR函数?

Yuc*_*uck 7

是的,你绝对可以:

CREATE FUNCTION SomeMethod(@input VarChar(200))
RETURNS VarChar(200) WITH EXECUTE AS CALLER AS

EXTERNAL NAME [SomeName1.SomeName2].[SomeName1.SomeName2.SomeClass.SomeMethod]
Run Code Online (Sandbox Code Playgroud)

其中[SomeName1.SomeName2]第一部分是SQL Server中命名的程序集,而rest([SomeName1.SomeName2.SomeClass.SomeMethod])是完全限定的函数名,包括命名空间.

顺便说一下,如果从Visual Studio进行部署,它会为您处理大量此类操作.

  • 我只想出来了.我正准备回答这个问题.[的AssemblyName] [Namespace.Class].[方法].谢谢 ! (2认同)