Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как получить результат выполнения процедуры (число прочтений - 1251 )
ruslan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 30
Зарегистрирован: 25. Февраля 2009
Как получить результат выполнения процедуры
20. Августа 2010 :: 10:23
Печать  
Добрый день. Подскажите пожалуйста как получить результат выполнения процедуры например такой
текстпроц="sp_getapplock 'rg25', 'EXCLUSIVE', 'Transaction', defaultexec";

запрос.ВыполнитьИнструкцию(текстпроц);
Всегда возвращает -1 а это не правильно
Спасибо.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Как получить результат выполнения процедуры
Ответ #1 - 20. Августа 2010 :: 10:29
Печать  
не факт что неправильно
Если ты выполняешь этот вне транзакции то так и должно быть

что за параметр defaultexec я не знаю и правилен ли он вообще.

В крайнем случае можешь этот вызов обернуть в свою хранимую процедуру и вызывай именно ее.
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Как получить результат выполнения процедуры
Ответ #2 - 20. Августа 2010 :: 10:53
Печать  
Код
Выбрать все
set nocount on
declare @res int
exec @res = sp_getapplock .......
select @res
 

  
Наверх
 
IP записан
 
ruslan
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 30
Зарегистрирован: 25. Февраля 2009
Re: Как получить результат выполнения процедуры
Ответ #3 - 20. Августа 2010 :: 11:00
Печать  
Точно так и есть
     текстПроцедуры="
                     |DECLARE @result int
                 |EXEC @result = sp_getapplock 'rg23', 'EXCLUSIVE', 'Transaction', default
                 |select @result

возвращает 0 или 1 все ок меньше 0 значит или не дождались или
мертвая блокировка
Всем спасибо
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Как получить результат выполнения процедуры
Ответ #4 - 20. Августа 2010 :: 11:16
Печать  
ruslan писал(а) 20. Августа 2010 :: 11:00:
Точно так и есть
     текстПроцедуры="
                     |DECLARE @result int
                 |EXEC @result = sp_getapplock 'rg23', 'EXCLUSIVE', 'Transaction', default
                 |select @result

возвращает 0 или 1 все ок меньше 0 значит или не дождались или
мертвая блокировка
Всем спасибо

я бы вместо defaul поставил бы конкретное значение (0 или -1)
а то вдруг при переходе на другой сервер поведение default измениться и будешь это долго искать.

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать