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

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

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

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

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


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