CftClub.ru
Клуб специалистов ЦФТ-Банк

Запуск операции под пользователем, отличным от текущего
На страницу 1, 2  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеЧт Июн 11, 2009 08:46   Запуск операции под пользователем, отличным от текущего Ответить с цитатой
Полезность: Нет оценки
Добрый день!

Есть дистрибутивная операция (MAIL_OUT.NEW#AUTO), которая в своем коде определяет филиал как ::[SYSTEM].[VARIABLES].OurBranch. Код данной операции вызывается из собственной операции, для успешного выполнения которой необходимо, чтобы переменная филиала в вызываемой операции принимала иное значение. Как то можно вызвывать операции под контекстом иного пользователя? может другой вариант есть?

Спасибо за помощь!
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеЧт Июн 11, 2009 08:55   Re: Запуск операции под пользователем, отличным от текущего Ответить с цитатой
Полезность: Нет оценки
lexoos пишет:
Добрый день!

Есть дистрибутивная операция (MAIL_OUT.NEW#AUTO), которая в своем коде определяет филиал как ::[SYSTEM].[VARIABLES].OurBranch. Код данной операции вызывается из собственной операции, для успешного выполнения которой необходимо, чтобы переменная филиала в вызываемой операции принимала иное значение. Как то можно вызвывать операции под контекстом иного пользователя? может другой вариант есть?

Спасибо за помощь!

http://cftclub.ru/viewtopic.php?t=413
в этой теме подобная ситуация уже рассматриваласьWink
_________________
всегда есть как минимум 2 выхода
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеЧт Июн 11, 2009 09:08    Ответить с цитатой
Полезность: Нет оценки
ссылка чего то не работает
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеЧт Июн 11, 2009 09:14    Ответить с цитатой
Полезность: Нет оценки
lexoos пишет:
ссылка чего то не работает

странно..
Цитата:
Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle - > Запуск операций на рабочих местах других пользователей

ну и собственно, ссылка

http://cftclub.ru/viewtopic.php?t=413

или ссылка на 1-й пост данной темы

http://cftclub.ru/viewtopic.php?p=2729#2729
_________________
всегда есть как минимум 2 выхода
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеЧт Июн 11, 2009 09:20    Ответить с цитатой
Полезность: Нет оценки
мне не нужно выводить экранную форму запускаемой операции, более того она служебная и не доступна через интерфейс. Вызывающая операция - может работать по расписанию, может и в ручную.
budinva
Участник - экстремал


Вступление в Клуб: 15.01.2008
СообщениеЧт Июн 11, 2009 10:16    Ответить с цитатой
Полезность: Нет оценки
если нужно сменить контекст текущего пользователя, то делается вот так
::[SYSTEM].[VARIABLES].set_system_vars_by_user(ref [USER]);
::[TRC].[INI].trc_set_var_current;
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеЧт Июн 11, 2009 10:18    Ответить с цитатой
Полезность: Нет оценки
budinva пишет:
если нужно сменить контекст текущего пользователя, то делается вот так
::[SYSTEM].[VARIABLES].set_system_vars_by_user(ref [USER]);
::[TRC].[INI].trc_set_var_current;


так низзя, текущий пользователь - ibs (работает операция по расписанию)
budinva
Участник - экстремал


Вступление в Клуб: 15.01.2008
СообщениеЧт Июн 11, 2009 10:36    Ответить с цитатой
Полезность: Нет оценки
а почему нельзя?
у нас тоже джобы запущены под ibs, но нужно чтобы проводились в контексте филиала (например, тянулись счета доходов/расходов филиальские) и нормально работает
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеЧт Июн 11, 2009 10:38    Ответить с цитатой
Полезность: Нет оценки
а что произойдет в случае , если после изменения контекста пользователя и до его возвращения произойдет сбой?
budinva
Участник - экстремал


Вступление в Клуб: 15.01.2008
СообщениеЧт Июн 11, 2009 10:44    Ответить с цитатой
Полезность: Нет оценки
до его возвращения куда?!
зачем его возвращать до предыдущего, в случае, если не будет сбоя, он снова,при необходимости,смениться на нужный, не смениться и что тут плохого?
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеЧт Июн 11, 2009 10:48    Ответить с цитатой
Полезность: Нет оценки
возвращения в первоначальное состояние
контекст сам меняется на первоначальное состояние?
не сменится, остальные операции пойдут с другим контекстом, соответственно и другим филиалом
budinva
Участник - экстремал


Вступление в Клуб: 15.01.2008
СообщениеЧт Июн 11, 2009 11:01    Ответить с цитатой
Полезность: Нет оценки
а смена контекст распространится дальше той операции где мы его меняем?
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеЧт Июн 11, 2009 11:03    Ответить с цитатой
Полезность: Нет оценки
вот это и интересно, более того если контекст меняется в одной операции, а вызывается другая, на эту другую измененный контекст распространяется?
budinva
Участник - экстремал


Вступление в Клуб: 15.01.2008
СообщениеЧт Июн 11, 2009 11:24    Ответить с цитатой
Полезность: Нет оценки
вот оказывается вопрос-то в чем! Smile
в операциях, используемых как джобы,наверное, у всех меняется контекст под "себя"
в любом случаем, если так уж необходимо возвращать контекст в первоначальный, может exception сможет снять риск того, что операция до конца не отработает а контекст вернуть нужно
lexoos
Участник - экстремал


Вступление в Клуб: 06.11.2007
СообщениеЧт Июн 11, 2009 11:26    Ответить с цитатой
Полезность: Нет оценки
может быть, но все таки много "может"
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru