
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.03.2003, 11:44
|
|||
|---|---|---|---|
|
|||
Forms -> Reports |
|||
|
#18+
Добрый день! Ситуация следующая: при запуске формы происходит замена текущей схемы (alter session set current_schema=...). Далее из этой формы должны вызываться другие формы и отчеты. Формы вызываются через OPEN_FORM и все в порядке, текущая схема передается та, которая была установлена, все нормально. Но отчеты вызываются через RUN_PRODUCT, генерится новая сессия и на нее уже замена сессии, которая была выше, не действует! Текущей схемой получается схема пользователя, а не та, которую бы мне хотелось видеть... Вопрос: можно ли какими-то стандартными средствами при вызове отчета передать текущую схемы из формы? Пока мне "светит" только один выход: во все отчеты вставлять параметр - схема, в триггере отчета делать alter session и в форме при вызове всех отчетов добавлять этот параметр... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2003, 13:29
|
|||
|---|---|---|---|
|
|||
Forms -> Reports |
|||
|
#18+
Еще вариант передавать не через параметры отчета, а через DBMS_PIPE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2003, 16:09
|
|||
|---|---|---|---|
|
|||
Forms -> Reports |
|||
|
#18+
А чем не нравится передача через параметры. Они для того и существуют чтобы Формс и Репортс понимали друг друга. И возможность выполнения триггеров в Репортс тоже не просто так для мебели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2003, 16:22
|
|||
|---|---|---|---|
|
|||
Forms -> Reports |
|||
|
#18+
Не нравится тем, что нужно менять просто КУЧУ отчетов. Плюс несколько форм и одну библиотеку, через которую эти отчеты вызываются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2003, 20:01
|
|||
|---|---|---|---|
|
|||
Forms -> Reports |
|||
|
#18+
В таком случае попытайтесь зайти с другого конца, откажитесь от alter session... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2003, 21:22
|
|||
|---|---|---|---|
|
|||
Forms -> Reports |
|||
|
#18+
Еще дубовенько эдак. Отчеты запискать не через run_product, а через строчку ОС в runtime, а параметры передавать в runtime-строчке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.03.2003, 06:59
|
|||
|---|---|---|---|
|
|||
Forms -> Reports |
|||
|
#18+
Попытаюсь обрисовать ситуацию поподробней. У нас имеется куча клиентских приложений - форм и отчетов, уже давно готовых и работающих. "Кочка входа", как говорит наш начальник - одна, форма типа LOGON, из нее уже через меню можно выйти на все остальные формы-отчеты. Серверная сторона: имеется несколько схем, которые разделяются по функциональному назначению (например, отдельная схема НСИ, отдельная - Склад и т.д.). И до последнего момента имелась одна фиктивная схема, в которой были синонимы на объекты всех остальных схем. Все формы/отчеты работали с объектами БД через явное указание этой фиктивной схемы. Теперь решили от этого отказаться... Вроде бы было придумано красивое решение - в LOGON форму добавляем выбор системы (склад, НСИ и т.п.), пользователь заходит под своим именем/паролем, тут же происходит alter session на выбранную схему/систему и все ОК. С формами действительно получилось все "ОК", мы вычистили все формы от указания схемы и они все работают, вызываются друг из друга, текущая схема (подмененная) сохранятся. А вот про отчеты как-то не додумали - не получилось :-( Теперь хочется найти решение и для отчетов, но решение наименее затратное по времени реализации (не хочется снова просматривать/менять все отчеты... хотя, похоже, придется...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.03.2003, 09:59
|
|||
|---|---|---|---|
Forms -> Reports |
|||
|
#18+
Через смену схесы как-то не очень красиво. Попробуйте все то же самое развести не указателями схемы, а ролями. Но, боюсь, приложение все равно придется переписывать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.03.2003, 16:11
|
|||
|---|---|---|---|
|
|||
Forms -> Reports |
|||
|
#18+
Ну Al, наверное, прав. Такие вещи лучше делать через привилегии и роли. Да и переписывать немного надо -- может только "точку входа". Сделай несколько ролей, каждой из которых дай привилегии на объекты твоих схем. Т.е. каждая роль будет соответствовать какой-то схеме. Дальше можно каждому пользователю дать все эти роли (или только те какие нужно), но не делать эти роли как "Default role". А затем в зависимости от выбора системы (склад, НСИ и т.п.), включай нужную роль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&tablet=1&tid=1991271]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 313ms |

| 0 / 0 |
