Создаем SQL Assemblies

Создаем SQL Assemblies!

1) Создаем пустой проект с одним классом.
2) Добавляем к нашему проекту ключ (Strong Name Key). Без этого ключа SQL нашу штучку не примет. На рисунке показано как это делается.
создаем стронг наме ключ
3) Создаем саму процедуру. Процедуру нужно пометить как <Microsoft.SqlServer.Server.SqlProcedure()>. Чтобы увидеть результат работы нашей процедуры сделаем так, чтобы она возвращала нам входной параметр с текстом, получим это:

  _
   Public Shared Sub CLR_TestMethod( ByRef Str As SqlString)
        Try
            Str = Date.Now.ToString & " - Hello World!"
        Catch ex As Exception
            Str = ex.Message
        Finally

        End Try
    End Sub

Dll - готов! Теперь нужно ее установить на сервер, делается это так:

create assembly SQL_Assembly_Test
from 'C:\Documents and Settings\........Debug\SQL_Assembly_Test.dll'
with permission_set = unsafe;
GO


create PROCEDURE  [dbo].[CLR_TestMethod]
@Str NVARCHAR(4000) OUTPUT
AS
 external name [SQL_Assembly_Test].[SQL_Assembly_Test.Class1].[CLR_TestMethod] 
GO

Теперь можно тестировать!

набираем:

declare @str NVARCHAR(4000) 
select @str=''
EXEC dbo.CLR_TestMethod @str  OUTPUT
SELECT @str

ответ:


скачать проект SQL_Assembly_Test.rar

Добавить комментарий

Loading