powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Установка контекстных переменных
11 сообщений из 11, страница 1 из 1
Установка контекстных переменных
    #39993573
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
EXECUTE ibeblock
AS
BEGIN
  RDB$SET_CONTEXT('USER_SESSION', 'Test1', 1);
  SELECT RDB$SET_CONTEXT('USER_SESSION', 'Test2', 2) FROM rdb$database into :var;
END;

Идем в mon$context_variables и видим
MON$ATTACHMENT_IDMON$TRANSACTION_IDMON$VARIABLE_NAMEMON$VARIABLE_VALUE2 702Test22


С уважением, Vasilisk
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #39993578
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И чего?

Пиши сразу, что не так. Чё я должен догадываться-то?
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #39993579
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Пиши сразу, что не так.
Конструкция
Код: sql
1.
 RDB$SET_CONTEXT('USER_SESSION', 'Test1', 1);

не работает. Новая переменная не появляется.

Работает только внутри селекта
Код: sql
1.
SELECT RDB$SET_CONTEXT('USER_SESSION', 'Test2', 2) FROM rdb$database into :var;
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #39993590
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_

[/src]не работает. Новая переменная не появляется.


УМВР.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
EXECUTE ibeblock
AS
BEGIN
  RDB$SET_CONTEXT('USER_SESSION', 'Test1', 'UMVR!!!');
  SELECT RDB$GET_CONTEXT('USER_SESSION', 'Test1') FROM RDB$DATABASE INTO :var;
  ibec_ShowMessage(var);
END;
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #39993597
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
УМВР.
Код: sql
1.
2.
3.
4.
5.
6.
7.
EXECUTE ibeblock
AS
BEGIN
  RDB$SET_CONTEXT('USER_SESSION', 'Test1', 'UMVR!!!');
  SELECT RDB$GET_CONTEXT('USER_SESSION', 'Test1') FROM RDB$DATABASE INTO :var;
  ibec_ShowMessage(ibec_Coalesce(var, 'NULL'));
END;

NULL
Версия 2020.8.28.1

Без ibec_Coalesce() Invalid variant type conversion
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #39993601
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_

Версия 2020.8.28.1


Засовывай блок в отладчик и смотри там на закладке "Last statement" внизу, какой запрос выполняется на вызове RDB$SET_CONTEXT.
Если там пусто, значит что-то такое я сегодня уже вылечил, просто не помню.
У меня там
Код: plsql
1.
SELECT RDB$SET_CONTEXT('USER_SESSION', 'Test1', 'UMVR!!!') FROM RDB$DATABASE
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #39993612
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
Если там пусто
Не пусто
Код: sql
1.
SELECT RDB$SET_CONTEXT('USER_SESSION', 'Test1', 'UMVR!!!') FROM RDB$DATABASE
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #39993716
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Не пусто
Код: sql
1.
SELECT RDB$SET_CONTEXT('USER_SESSION', 'Test1', 'UMVR!!!') FROM RDB$DATABASE



От сервера, оказывается, зависит. В четверке работает, в тройке - как у тебя.
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #39999994
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
От сервера, оказывается, зависит. В четверке работает, в тройке - как у тебя.
А что в итоге? Прошлый раз я обошелся без переменных, а сейчас нужны
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #40000115
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
А что в итоге? Прошлый раз я обошелся без переменных, а сейчас нужны


Вот так работает, оказывается:
Код: plsql
1.
iRes = RDB$SET_CONTEXT('USER_SESSION', 'Test1', 'UMVR!!!');
...
Рейтинг: 0 / 0
Установка контекстных переменных
    #40000143
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, в общем, в чем прикол: в FB 3 вся магия происходит не собственно при выполнении селекта, а при фетче его результатов.
Эксперт их не фетчил, ибо ему не надо, если нет присвоения. Ну, теперь будет фетчить.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Установка контекстных переменных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]