Oracle apex 在Apex中,从SQL Workshop调用的包成功了,但从应用程序生成器调用的包失败了

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

来自顶尖新手的问题

背景

我正在使用Oracle Apex为第三方SIS(学生信息系统)PowerSchool生成报告,该第三方SIS(学生信息系统)PowerSchool位于其自己的模式PS中。在PS中,我将关键业务逻辑抽象为单个定制包(CKSD_Students)中的一组定制函数

问题

我有以下简单的Oracle查询

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_管理
  • 公开执行
一个音符。此包不会将错误记录到PS数据库中的表中。我已授权插入/更新/选择:

  • Apex050000
  • APEX\u管理员\u角色
  • 心尖听音器
  • APEX\u公共用户
  • APEX\u REST\u公共用户
  • PS_APEX(我的解析模式)
  • 私人秘书处管理
两个问题:

我发现奇怪的是,该软件包可从SQL Workshop获得,但不是Apex应用程序

1) 现在我确信解析模式已经涵盖了,我还遗漏了什么。PS的其他软件包与Apex一起工作,因此我知道这是可能的

2) 我知道这是一个甲骨文的错误。有人能帮我找到它吗?(可能的磁盘/文件夹/名称)

谢谢

Eric。

用于运行查询

grant execute on pkg_owner.package to parsing_schema;
听起来你已经检查了你的基地,但这是最基本的拨款。 在SQL Workshop中,您可以检查“模式”下拉列表是否与解析模式相同。某些工作区可能与多个架构相关联

然而,我不确定这是你的问题。这个错误提到了一个授权方案,这是不同的。检查列定义中的安全属性,然后检查该授权如何返回true/false

我认为此授权方案返回了一个与Powerschool相关的自定义错误