2011-08-04 4 views
0

私はC#で静的なクラスがあるとします。レジスタC#のassemblieと使用機能のSQL Serverで

public static class Math 
{ 
    [Microsoft.SqlServer.Server.SqlFunction] 
    public static int Add(int a, int b) 
    { 
     return a + b; 
    } 


    [Microsoft.SqlServer.Server.SqlProcedure] 
    public static void Void(int a, int b) 
    { 
    } 

    static void Main(string[] args) 
    { 
    } 

} 

私たちが行うSQLでこの機能を使用すること@faester´s answerで知っている:へ

EXEC SP_CONFIGURE 'clr enabled', 1 
    GO 
    RECONFIGURE 
    GO 
    -- CONSIDER: DROP ASSEMBLY SqlClr 
    GO 
    CREATE ASSEMBLY SqlClr 
    FROM 'pathtoassembly' 
    WITH PERMISSION_SET = SAFE; 
    GO 
    SELECT * FROM sys.assemblies 
    GO 
    CREATE FUNCTION [MathAdd] (@a int, @b int) 
    RETURNS INT 
    AS EXTERNAL NAME [SqlClr].Math.[Add] 
    GO 
    CREATE PROCEDURE [Void] @a INT, @b INT 
    AS EXTERNAL NAME [SqlClr].Math.[Void] 
    GO 
    SELECT dbo.MathAdd (1, 2) 
    EXEC void 1, 2 

をこの例を実行する最初私は、C#ファイルにメインを追加

using System; 
using System.Collections.Generic; 
using System.Text; 

public static class Math 
{ 
    [Microsoft.SqlServer.Server.SqlFunction] 
    public static int Add(int a, int b) 
    { 
     return a + b; 
    } 


    [Microsoft.SqlServer.Server.SqlProcedure] 
    public static void Void(int a, int b) 
    { 
    } 

    static void Main(string[] args) 
    { 
    } 

} 

SQLコードを実行すると...どのパスを追加しますか。私がやっていた:

CREATE ASSEMBLY SqlClr 
    FROM 'C:\Visual Studio 2005\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe' 
    WITH PERMISSION_SET = SAFE; 
    GO 

がObiously私はそうSLNファイルとCSファイルで試してみましたが、それは仕事を得ることができない、.EXE追加してはいけません...

私は以下、エラーを取得:

Configuration option 'clr enabled' changed from 1 to 1. Run the RECONFIGURE statement to install. Msg 6501, Level 16, State 7, Line 1 CREATE ASSEMBLY failed because it could not open the physical file "C:\Visual Studio 2005\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe": 5(Acces denied.).

パスに入れるに何のほかに私の質問は、C#のコードをビルドする方法についてです

、私は任意のパーソナルプラグインと同じように構築されますrプログラムでは、何かを追加しますか?

  • 何が起こっていますか?
  • ウォークスルーのために

答えて

関連する問題