Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Sql Server CLR函数_.net_Sql Server_Function_Sqlclr - Fatal编程技术网

.net Sql Server CLR函数

.net Sql Server CLR函数,.net,sql-server,function,sqlclr,.net,Sql Server,Function,Sqlclr,在编写CLR函数Sql Server时,我们可以使用名称空间吗 namespace SomeName1.SomeName2 { public static class SomeClass { [SqlFunction] public static SqlString SomeMethod(SqlString input) { // .... } } } 如果是这样,那么我们如何从SqlServer调用

在编写CLR函数Sql Server时,我们可以使用名称空间吗

namespace SomeName1.SomeName2
{
   public static class SomeClass
   {
       [SqlFunction]
       public static SqlString SomeMethod(SqlString input)
       {
          // ....
       }
   }
}

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

是的,您完全可以:

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

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


顺便说一句,如果您从Visual Studio部署,它会为您处理很多这方面的问题。

我刚刚发现了这一点。我正要回答这个问题。[AssemblyName][Namespace.Class][Method]。谢谢它实际上是[AssemlyName],其余的则是[SomeName1.SomeName2.SomeClass]。[SomeMethod]正确。我假设您的程序集名称与此处定义的命名空间名称相同。@Debjit-只是对您的注释[AssemblyName].[namespace.Class].[Method]的一个打字错误更正。谢谢