2011-07-27 7 views
7

CLR関数を記述するときに、Sql Serverでは名前空間を使用できますか?Sql ServerのCLR関数

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

もしそうなら、この関数をSqlServerからどのように呼び出すのでしょうか。言い換えれば、名前空間を使用してSQL ServerからCLR関数を呼び出すにはどうすればよいですか?はい、あなたは絶対にでき

答えて

7

最初の部分で [SomeName1.SomeName2]は、SQL Serverで名前の通り組み立て、残り( [SomeName1.SomeName2.SomeClass.SomeMethod])がある
CREATE FUNCTION SomeMethod(@input VarChar(200)) 
RETURNS VarChar(200) WITH EXECUTE AS CALLER AS 

EXTERNAL NAME [SomeName1.SomeName2].[SomeName1.SomeName2.SomeClass.SomeMethod] 

は、名前空間を含む完全修飾関数名を、です。

ちなみに、Visual Studioからデプロイすると、多くのことが処理されます。

+2

私はそれを考え出しました。私はそれに答えようとしていた。 [AssemblyName] [Namespace.Class]。[メソッド]。ありがとう! – Debjit

+1

実際には[AssemlyName]となり、残りは[SomeName1.SomeName2.SomeClass]となります。[SomeMethod] – Debjit

+0

正しい。アセンブリ名がここで定義されている名前空間の名前に従っていると仮定しています。 – Yuck

関連する問題