Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Обмен данных между сессиями / 9 сообщений из 9, страница 1 из 1
19.01.2003, 01:24
    #32092995
Nebary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен данных между сессиями
Можно ли получить значение переменной одной сессий из другой?
...
Рейтинг: 0 / 0
19.01.2003, 08:18
    #32093004
Nebary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен данных между сессиями
Все, нашел, очень фишечная вещь - трубки оракл, если кто с ними работал и знает какие-то косяки - расскажите пожалуйста!
...
Рейтинг: 0 / 0
20.01.2003, 11:36
    #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
20.01.2003, 11:46
    #32093234
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен данных между сессиями
Да как хочешь:) Смотря что тебе надо. Просто в 1-м случае ты будешь получать одно сообщение и распаковывать дважды, во втором ты получишь 2 сообщения.
...
Рейтинг: 0 / 0
20.01.2003, 12:42
    #32093293
Nebary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен данных между сессиями
Спасибо, Дим.
Но тогда у меня такой вопрос:
DBMS_PIPE.UNPACK_MESSAGE(nRes);
и
DBMS_PIPE.RESET_BUFFER;
и прочие процедуры, откуда они знают из какой именно трубки забирать сообщения? Я это к тому, что у меня две трубки - не запутаться бы...
...
Рейтинг: 0 / 0
20.01.2003, 12:43
    #32093295
Nebary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен данных между сессиями
Не Дима, а Денис! Сории :)
...
Рейтинг: 0 / 0
20.01.2003, 12:48
    #32093301
Nebary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен данных между сессиями
И еще вопрос - как дважды прочесть сообщение из трубки?
Мне нужно в разных частях процедуры считать одно и то же сообщение из трубки...
...
Рейтинг: 0 / 0
20.01.2003, 12:56
    #32093312
Oleg Afanasiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен данных между сессиями
Выдержка из книги :
"Упаковка/распаковка элементов сообщения представляет собой довольно трудоёмкий процесс, особенно если приходится иметь дело с различными типами данных"
...
Рейтинг: 0 / 0
20.01.2003, 13:02
    #32093317
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обмен данных между сессиями
Дважды из трубы не читают, она так сделана. Если хочешь, чтобы несколько сессий могли получать одно и то же сообщение, смотри пакет DBMS_ALERT. А откуда receive_message знает, из какой трубы распаковывать - скорее всего это определяется предыдущим вызовом receive_message. поэкспериментируй, прочитай два сообщения, а потом распакуй- по-моему распаковываться будет последнее, а все предыдущие сгинут из local message buffer, но может я ошибаюсь. reset_buffer стало быть его очищает, но, как сказано в спецификации пакета, "Generally this routine is not needed."
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Обмен данных между сессиями / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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