powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Обмен данных между сессиями
9 сообщений из 9, страница 1 из 1
Обмен данных между сессиями
    #32092995
Nebary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли получить значение переменной одной сессий из другой?
...
Рейтинг: 0 / 0
Обмен данных между сессиями
    #32093004
Nebary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, нашел, очень фишечная вещь - трубки оракл, если кто с ними работал и знает какие-то косяки - расскажите пожалуйста!
...
Рейтинг: 0 / 0
Обмен данных между сессиями
    #32093224
Nebary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, ответьте кто знает как пользоваться этими трубками, а точнее:
что будет правильнее
Код: plaintext
1.
2.
3.
    DBMS_PIPE.PACK_MESSAGE(nProgressMax);
    DBMS_PIPE.PACK_MESSAGE(nProgressPos);
    nTmp:=DBMS_PIPE.SEND_MESSAGE('Nozology_Progress');


или

Код: plaintext
1.
2.
3.
4.
    DBMS_PIPE.PACK_MESSAGE(nProgressMax);
    nTmp:=DBMS_PIPE.SEND_MESSAGE('Nozology_Progress');
    DBMS_PIPE.PACK_MESSAGE(nProgressPos);
    nTmp:=DBMS_PIPE.SEND_MESSAGE('Nozology_Progress');


?????
...
Рейтинг: 0 / 0
Обмен данных между сессиями
    #32093234
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да как хочешь:) Смотря что тебе надо. Просто в 1-м случае ты будешь получать одно сообщение и распаковывать дважды, во втором ты получишь 2 сообщения.
...
Рейтинг: 0 / 0
Обмен данных между сессиями
    #32093293
Nebary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Дим.
Но тогда у меня такой вопрос:
DBMS_PIPE.UNPACK_MESSAGE(nRes);
и
DBMS_PIPE.RESET_BUFFER;
и прочие процедуры, откуда они знают из какой именно трубки забирать сообщения? Я это к тому, что у меня две трубки - не запутаться бы...
...
Рейтинг: 0 / 0
Обмен данных между сессиями
    #32093295
Nebary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не Дима, а Денис! Сории :)
...
Рейтинг: 0 / 0
Обмен данных между сессиями
    #32093301
Nebary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вопрос - как дважды прочесть сообщение из трубки?
Мне нужно в разных частях процедуры считать одно и то же сообщение из трубки...
...
Рейтинг: 0 / 0
Обмен данных между сессиями
    #32093312
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выдержка из книги :
"Упаковка/распаковка элементов сообщения представляет собой довольно трудоёмкий процесс, особенно если приходится иметь дело с различными типами данных"
...
Рейтинг: 0 / 0
Обмен данных между сессиями
    #32093317
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дважды из трубы не читают, она так сделана. Если хочешь, чтобы несколько сессий могли получать одно и то же сообщение, смотри пакет DBMS_ALERT. А откуда receive_message знает, из какой трубы распаковывать - скорее всего это определяется предыдущим вызовом receive_message. поэкспериментируй, прочитай два сообщения, а потом распакуй- по-моему распаковываться будет последнее, а все предыдущие сгинут из local message buffer, но может я ошибаюсь. reset_buffer стало быть его очищает, но, как сказано в спецификации пакета, "Generally this routine is not needed."
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Обмен данных между сессиями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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