[#] Procedura MS SQL jako biblioteka DLL napisana w C#

( Ostatnio zmieniony wt., 03/06/2008 - 13:20 )
 
using Microsoft.SqlServer.Server;
namespace new_NameSpace
{
  public class new_Class
  {
    public static void Hello(string tekst1, string tekst2, ref string output)
    {
        output = "Czesc. Podales: wartosc 1:  " + tekst1 + " wartosc 2: " + tekst2 + " o lacznej dlugosci: " + (tekst1.Length + tekst2.Length);
    }
  }
}

Całość kompilujemy jako DLL w np.: SharpDevelop'ie i kopiujemy np.: na dysk C:\

Teraz czas na MSSQL 2005.

EXEC sp_configure 'clr enabled', 1
RECONFIGURE WITH OVERRIDE
GO

Usuwamy istniejące powiązanie dll i procedury

DROP PROCEDURE HelloWorld
DROP ASSEMBLY new_Hello

Wiążemy naszą dllkę z nazwą procedury

CREATE ASSEMBLY new_Hello FROM 'C:\new_Hello.dll'
with permission_set = safe
GO
CREATE PROCEDURE HelloWorld
@teskt1 nvarchar(50),
@teskt2 nvarchar(50),
@output nvarchar(255) OUTPUT
AS EXTERNAL NAME new_Hello.[new_NameSpace.new_Class].Hello
GO
DECLARE @result nvarchar(255)
EXEC HelloWorld 'Teskt Pierwszy', 'tekst drugi', @result OUTPUT
PRINT @result

Wynik działania

Czesc. Podales: wartos 1: Teskt Pierwszy wartosc 2: tekst drugi o lacznej dlugosci: 25

5
Twoja ocena: Brak Średnio: 5 (1 vote)