Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос: почему запущенная из триггера программа виснет при обращении к БД  [new]
pavelXYZ
Member

Откуда:
Сообщений: 2
Добрый день знатоки!

меня интерисует следующий вопрос:почему запущенная из триггера программа виснет при обращении к БД

настроил MsSQL так, что exec master..xp_cmdshell запускает внешний exe файл в режими System/
Собственно благодаря этому оно и запускается.
Суть проблемы вот в чем, стоит триггер на Insert, добавляю строку в поле image1 запускаю свою программу(написанна на C#) она выполняет следующие действия. Забирает картинку с поля image1 сохраняет ее в файл, дальше запускает утилиту, которая меняет размер изображения, дальше записывает новое изображение в поле image2 вставленной строки.
Программа полностью работает, если я ее запускаю не из триггера.
Но когда это происходит из триггера, программа просто висит в памяти с правами System и ничего не выполняет.
проверял выполняя код который просто создает файл и не бращается к БД - работает,
также если код просто создает подключение к БД и отключается - работает,
как только я пытаюсь заполнить DataSet происходит подвис.

вот код триггера которым я вызываю программу

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE TRIGGER insert_Trigger
ON dbo.MyImages
AFTER INSERT
AS
exec master..xp_cmdshell 'c:\mycmd.exe'
GO

ПОМОГИТЕ РАЗОБРАТЬСЯ!!! плз
9 сен 09, 16:50    [7638237]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос: почему запущенная из триггера программа виснет при обращении к БД  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
Ага. Из одного коннекта запись вставили, из другого к ней же, еще не закомиченной, ломимся. Оно и будет висеть бесконечно.
9 сен 09, 16:52    [7638248]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос: почему запущенная из триггера программа виснет при обращении к БД  [new]
pavelXYZ
Member

Откуда:
Сообщений: 2
И как можно обойти это?
9 сен 09, 17:04    [7638338]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос: почему запущенная из триггера программа виснет при обращении к БД  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
как-то так
запускаю не из триггера.
9 сен 09, 17:07    [7638360]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос: почему запущенная из триггера программа виснет при обращении к БД  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
или всё это
Забирает картинку с поля image1 сохраняет ее в файл, дальше запускает утилиту, которая меняет размер изображения, дальше записывает новое изображение в поле image2 вставленной строки.
делать до вставки и триггер не нужен будет.
9 сен 09, 17:12    [7638401]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить