Гость
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Установка контекстных переменных / 11 сообщений из 11, страница 1 из 1
28.08.2020, 18:13
    #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
28.08.2020, 18:21
    #39993578
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка контекстных переменных
И чего?

Пиши сразу, что не так. Чё я должен догадываться-то?
...
Рейтинг: 0 / 0
28.08.2020, 18:27
    #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
28.08.2020, 18:38
    #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
28.08.2020, 18:48
    #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
28.08.2020, 18:55
    #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
28.08.2020, 19:09
    #39993612
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка контекстных переменных
IBExpert
Если там пусто
Не пусто
Код: sql
1.
SELECT RDB$SET_CONTEXT('USER_SESSION', 'Test1', 'UMVR!!!') FROM RDB$DATABASE
...
Рейтинг: 0 / 0
29.08.2020, 02:41
    #39993716
IBExpert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Установка контекстных переменных
_Vasilisk_
Не пусто
Код: sql
1.
SELECT RDB$SET_CONTEXT('USER_SESSION', 'Test1', 'UMVR!!!') FROM RDB$DATABASE



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


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


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