Oracle apex 在Apex中,从SQL Workshop调用的包成功了,但从应用程序生成器调用的包失败了
来自顶尖新手的问题 背景 我正在使用Oracle Apex为第三方SIS(学生信息系统)PowerSchool生成报告,该第三方SIS(学生信息系统)PowerSchool位于其自己的模式PS中。在PS中,我将关键业务逻辑抽象为单个定制包(CKSD_Students)中的一组定制函数 问题 我有以下简单的Oracle查询Oracle apex 在Apex中,从SQL Workshop调用的包成功了,但从应用程序生成器调用的包失败了,oracle-apex,Oracle Apex,来自顶尖新手的问题 背景 我正在使用Oracle Apex为第三方SIS(学生信息系统)PowerSchool生成报告,该第三方SIS(学生信息系统)PowerSchool位于其自己的模式PS中。在PS中,我将关键业务逻辑抽象为单个定制包(CKSD_Students)中的一组定制函数 问题 我有以下简单的Oracle查询 Select S.ID As Student_ID , S.Student_Number As
Select S.ID As Student_ID
, S.Student_Number As Student_Number
, S.LastFirst As LastFirst
, ps.cksd_student.get_student_enroll_status(S.Enroll_Status) As Enroll_Status
, S.Grade_Level As Grade_Level
, S.SchoolID As SchoolID
, Sch.Name As School_Name
From Students S
Inner Join Schools Sch
On Sch.School_Number = S.SchoolID
它作为“保存的SQL”保存在SQL Workshop中的Oracle Application Express中
当我打开查询并运行它时,它工作了,我得到了预期的结果
注意:“ps.cksd_student”是在与第三方应用程序PowerSchool关联的数据库/架构中创建的自定义包
当我在正文中使用此查询作为SQL查询创建Apex报告并按run键时,出现以下错误:
is_internal_error: true
apex_error_code: APEX.AUTHORIZATION.ACCESS_DENIED
component.type: APEX_APPLICATION_AUTHORIZATION
component.id: 8270293315071117
component.name: User still logged into PowerSchool
error_backtrace:
----- PL/SQL Call Stack -----
object line object
handle number name
00007FFBF623C890 642 package body APEX_050000.WWV_FLOW_ERROR
00007FFBF623C890 710 package body APEX_050000.WWV_FLOW_ERROR
00007FFBF623C890 1014 package body APEX_050000.WWV_FLOW_ERROR
00007FFBF7EE0960 793 package body APEX_050000.WWV_FLOW_AUTHORIZATION
00007FFC1790FE50 4518 package body APEX_050000.WWV_FLOW
00007FFB9D79BF88 173 procedure APEX_050000.F
00007FFB8554A498 2 anonymous block
当我删除ps.cksd_student生成的列时,报告运行正常
在Oracle中,在PS模式中,我已将PS.cksd_student execute授予解析模式以及所有似乎连接到Apex的模式,我甚至将execute授予public,我仍然会得到相同的错误
- 执行APEX_050000
- 执行APEX\u管理员\u角色
- 执行APEX\u侦听器
- 执行APEX\u PUBLIC\u USER
- 执行APEX\u REST\u PUBLIC\u USER
- 执行流文件
- 执行NAVIGATOR\u角色
- 执行PSNAVIGATOR
- 执行PS_APEX(我的解析模式)
- 执行PS_管理
- 公开执行
- Apex050000
- APEX\u管理员\u角色
- 心尖听音器
- APEX\u公共用户
- APEX\u REST\u公共用户
- PS_APEX(我的解析模式)
- 私人秘书处管理
grant execute on pkg_owner.package to parsing_schema;
听起来你已经检查了你的基地,但这是最基本的拨款。
在SQL Workshop中,您可以检查“模式”下拉列表是否与解析模式相同。某些工作区可能与多个架构相关联
然而,我不确定这是你的问题。这个错误提到了一个授权方案,这是不同的。检查列定义中的安全属性,然后检查该授权如何返回true/false
我认为此授权方案返回了一个与Powerschool相关的自定义错误