Oracle Apex:是否可以在运行时更改默认模式?

1zmg4dgp  于 2023-04-11  发布在  Oracle
关注(0)|答案(2)|浏览(196)

我们有一个Apex应用程序(版本20.1),我们的用户必须能够在运行时通过单击按钮(最好无需再次登录)更改数据库模式。目前,我们通过多次安装我们的应用程序来解决这个问题,每个模式一次。
我们最近发现了一个函数apex_export.get_application。我们打算使用这个函数将我们的前端置于版本控制之下(终于!)。我们希望直接从导出的文件中部署我们的应用程序。有了一个应用程序,我们就不必从导出的文件中弄乱内部组件ID。
是否可以安装一次应用程序,并通过PL/SQL代码更改默认模式?谢谢!

zsohkypk

zsohkypk1#

我不认为这可以做到,但也许以下是一个合理的妥协
1.将需要支持的所有模式添加到工作区模式列表
1.应用程序中的任何SQL(我的意思是 any)都将以应用程序项为前缀,例如
之前:select * from my_table之后:select * from &my_schema..my_table
1.在登录时(或当用户选择它时),您可以修改MY_SCHEMA应用程序项
(我还没试过这个……所以要小心测试/踩)

oxiaedzo

oxiaedzo2#

您可以调用APEX_UTIL.set_parsing_schema_for_request('schema')在运行时设置解析模式。
https://docs.oracle.com/en/database/oracle/application-express/20.1/aeapi/SET_PARSING_SCHEMA_FOR_REQUEST-Procedure.html#GUID-2DB16C9E-6238-4DF9-A920-20D8E8FA93C0
您可以在每个应用程序的初始化PL/SQL代码中调用此过程。

相关问题