powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Forms -> Reports
10 сообщений из 10, страница 1 из 1
Forms -> Reports
    #32123560
Sto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sto
Гость
Добрый день!
Ситуация следующая: при запуске формы происходит замена текущей схемы (alter session set current_schema=...). Далее из этой формы должны вызываться другие формы и отчеты. Формы вызываются через OPEN_FORM и все в порядке, текущая схема передается та, которая была установлена, все нормально.
Но отчеты вызываются через RUN_PRODUCT, генерится новая сессия и на нее уже замена сессии, которая была выше, не действует! Текущей схемой получается схема пользователя, а не та, которую бы мне хотелось видеть...

Вопрос: можно ли какими-то стандартными средствами при вызове отчета передать текущую схемы из формы?

Пока мне "светит" только один выход: во все отчеты вставлять параметр - схема, в триггере отчета делать alter session и в форме при вызове всех отчетов добавлять этот параметр...
...
Рейтинг: 0 / 0
Forms -> Reports
    #32123706
V.Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вариант передавать не через параметры отчета, а через DBMS_PIPE.
...
Рейтинг: 0 / 0
Forms -> Reports
    #32123959
[IPT]-Said
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чем не нравится передача через параметры.
Они для того и существуют чтобы Формс и Репортс понимали друг друга.
И возможность выполнения триггеров в Репортс тоже не просто так для мебели.
...
Рейтинг: 0 / 0
Forms -> Reports
    #32123977
Sto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sto
Гость
Не нравится тем, что нужно менять просто КУЧУ отчетов. Плюс несколько форм и одну библиотеку, через которую эти отчеты вызываются.
...
Рейтинг: 0 / 0
Forms -> Reports
    #32124178
[IPT]-Said
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таком случае попытайтесь зайти с другого конца,
откажитесь от alter session...
...
Рейтинг: 0 / 0
Forms -> Reports
    #32124196
Alexandr Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще дубовенько эдак.
Отчеты запискать не через run_product, а через строчку ОС в runtime, а параметры передавать в runtime-строчке.
...
Рейтинг: 0 / 0
Forms -> Reports
    #32124270
Sto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sto
Гость
Попытаюсь обрисовать ситуацию поподробней.
У нас имеется куча клиентских приложений - форм и отчетов, уже давно готовых и работающих. "Кочка входа", как говорит наш начальник - одна, форма типа LOGON, из нее уже через меню можно выйти на все остальные формы-отчеты.
Серверная сторона: имеется несколько схем, которые разделяются по функциональному назначению (например, отдельная схема НСИ, отдельная - Склад и т.д.). И до последнего момента имелась одна фиктивная схема, в которой были синонимы на объекты всех остальных схем. Все формы/отчеты работали с объектами БД через явное указание этой фиктивной схемы. Теперь решили от этого отказаться... Вроде бы было придумано красивое решение - в LOGON форму добавляем выбор системы (склад, НСИ и т.п.), пользователь заходит под своим именем/паролем, тут же происходит alter session на выбранную схему/систему и все ОК. С формами действительно получилось все "ОК", мы вычистили все формы от указания схемы и они все работают, вызываются друг из друга, текущая схема (подмененная) сохранятся. А вот про отчеты как-то не додумали - не получилось :-(
Теперь хочется найти решение и для отчетов, но решение наименее затратное по времени реализации (не хочется снова просматривать/менять все отчеты... хотя, похоже, придется...)
...
Рейтинг: 0 / 0
Forms -> Reports
    #32124352
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через смену схесы как-то не очень красиво. Попробуйте все то же самое развести не указателями схемы, а ролями. Но, боюсь, приложение все равно придется переписывать...
...
Рейтинг: 0 / 0
Forms -> Reports
    #32125780
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну Al, наверное, прав. Такие вещи лучше делать через привилегии и роли. Да и переписывать немного надо -- может только "точку входа".

Сделай несколько ролей, каждой из которых дай привилегии на объекты твоих схем. Т.е. каждая роль будет соответствовать какой-то схеме.

Дальше можно каждому пользователю дать все эти роли (или только те какие нужно), но не делать эти роли как "Default role". А затем в зависимости от выбора системы (склад, НСИ и т.п.), включай нужную роль.
...
Рейтинг: 0 / 0
Forms -> Reports
    #32129079
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл сказать - отчеты не надо будет переписывать. При запуске отчетов надо будет указать параметр role=xxxxx.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Forms -> Reports
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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