.net Sql Server CLR函数
在编写CLR函数Sql Server时,我们可以使用名称空间吗.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调用
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]的一个打字错误更正。谢谢