После Приведен пример я нашел в интернете, я написал код следующий C#, который реализует хранимые процедуры CLR в MS SQL Server 2008:Как выбрать строки внутри хранимой процедуры CLR в MS SQL Server 2008?
public class Class1
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void CountStringLength(string inputString)
{
SqlContext.Pipe.Send(inputString.Length.ToString());
}
}
Эта процедура принимает строку в качестве параметра и выводит число символов в строке.
Я работал над некоторым кодом, который извлекает данные из SQL; нет ничего особенного в том, как извлекаются данные: он подключается к SQL-серверу, выбирает данные и затем закрывает соединение. Я хочу, чтобы этот код выполнялся внутри хранимой процедуры или триггера на моем SQL-сервере.
Я полагаю, что я мог заставить код работать точно так же, как и существующий код SQL: сделать соединение с SQL-сервером, выбрать данные, а затем закрыть соединение. Однако это не имеет смысла, как только код выполняется на самом SQL-сервере! Почему я хочу, чтобы код, который запускался на сервере SQL, подключал сервер к себе?!?!
Есть ли лучшая практика для того, что я пытаюсь сделать? Могу ли я выбирать строки в моем коде, используя то же соединение, которое используется для выполнения хранимой процедуры?