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

start [/forum/topic.php?fid=52&msg=32124196&tid=1991271]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 439ms |

| 0 / 0 |
