Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вызов методов SQL Server Assembly через хранимую процедуру в JOB-е  [new]
hex.style
Member

Откуда:
Сообщений: 64
Всем хорошей пятницы! =)
У меня следующая ситуация:
Есть группа классов по работе с базой данных. Для работы с джобами решил вынести их в SQL Server Assembly и запускать с помощью хранимых процедур. Никогда этой штукой не пользовался, а тут она показалась интересным решением.

У меня нестатичный класс и нестатичные методы:
public class FileProcessor
{
 public FileProcessor()
        {
            this.sqlconnect = new DBAccess();
            this.log = new Logdb();
            ExchangeService = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
        }
        public void ImportFromMail(int viborka, bool export2DB)
// operations
}


Создаю сборку:
CREATE ASSEMBLY ClassLibrary1 
from 'D:\proj\csharp\test\dbclr\FileProcessor.dll'


Необходимо написать процедуру, которая работала бы с моим объектом.
Возможно ли в процедуре инициализировать объект сборки и обратиться к ее методу???
Или в таком случае COM-объект - единственный выход для вызова из JOB-а?
14 сен 12, 17:52    [13166839]     Ответить | Цитировать Сообщить модератору
 Re: Вызов методов SQL Server Assembly через хранимую процедуру в JOB-е  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Блин, читайте BOL. Базовые основы на форумах не спрашивают.
Да и откровенный бред писать не будете.
Хранимые процедуры CLR
14 сен 12, 19:12    [13167196]     Ответить | Цитировать Сообщить модератору
 Re: Вызов методов SQL Server Assembly через хранимую процедуру в JOB-е  [new]
hex.style
Member

Откуда:
Сообщений: 64
Mnior, я спросил непонятный мне момент, который не нашел в справочнике! Откуда такие возмущения, будто я Вам на коврик нагадил?

Мне нужно исполнить нестатическую функцию. При этом никакие параметры возвращать не нужно. CLR включает в себя метаданные. Ищу возможность использовать это преимущество непосредственно SQL Server-ом, чтобы не переводить dll в COM-объект!
14 сен 12, 20:26    [13167434]     Ответить | Цитировать Сообщить модератору
 Re: Вызов методов SQL Server Assembly через хранимую процедуру в JOB-е  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
hex.style
Мне нужно исполнить нестатическую функцию. При этом никакие параметры возвращать не нужно. CLR включает в себя метаданные. Ищу возможность использовать это преимущество непосредственно SQL Server-ом, чтобы не переводить dll в COM-объект!

Хм... Интересно, а как в таком случае поступают во всех остальных местах, включая дефолтный статический метод Main класса Program?
Видимо, создают статический метод, внутри которого создается экземпляр нужного класса и от этого экземпляра дёргается нужный метод?
14 сен 12, 20:38    [13167461]     Ответить | Цитировать Сообщить модератору
 Re: Вызов методов SQL Server Assembly через хранимую процедуру в JOB-е  [new]
hex.style
Member

Откуда:
Сообщений: 64
locky, все гениальное оказалось просто =) Ступил, извиняюсь. Вопрос снят.
14 сен 12, 20:48    [13167484]     Ответить | Цитировать Сообщить модератору
 Re: Вызов методов SQL Server Assembly через хранимую процедуру в JOB-е  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
hex.style
Мне нужно исполнить нестатическую функцию. CLR включает в себя метаданные. Ищу возможность использовать это преимущество непосредственно SQL Server-ом, чтобы не переводить dll в COM-объект!
Вы знаете, я вначале так и подумал. Начал писать очень гневный пост (хорошо что вы его не видели) о том что вы совершенно не понимаете как оно работает и почему так, и как вообще такое может придти в голову (архитектура, бла-бла-бла, монстры, бла-бла, говнокод, бла-бла-бла).
Но подумал, это это слишком и взял второй вариант интерпретации ваших слов.
14 сен 12, 22:27    [13167857]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить