【问题标题】:How to Call package successfully如何成功调用包
【发布时间】:2019-03-28 11:52:16
【问题描述】:

调用包时出错

错误是

Error starting at line : 1 in command -
 PKG_Generate_GRNo.GenerateGR(TO_NUMBER(:P164_APP_ID,
 '9999999'),:APP_USER,:P164_FIRST_NAME,:P164_LAST_NAME,:P164_EMAIL,:P164_SKYPE_ID,:P164_COUNTRY,:P164_DATE_OF_BIRTH)
 Error report - Unknown Command

 PKG_Generate_GRNo.GenerateGR(TO_NUMBER(:P164_APP_ID,
'9999999'),:APP_USER,:P164_FIRST_NAME,:P164_LAST_NAME,:P164_EMAIL,
 :P164_SKYPE_ID,:P164_COUNTRY,:P164_DATE_OF_BIRTH);

【问题讨论】:

  • 我在 sql developer 或 apex 中都调用了这段代码,但是当它调用它时显示错误,如下所述 ------------------ ----------------------------------------- 会话状态保护违规:这可能是由通过手动更改受保护的页面项目 P164_COURSECOUNT。如果您不确定导致此错误的原因,请联系应用程序管理员寻求帮助。
  • 供将来参考,请编辑您的问题以包含更多详细信息或进行其他改进。

标签: sql oracle plsql oracle-apex


【解决方案1】:

会话状态保护违规绝对是 Apex 错误,与您的页面设置有关。您的包似乎正在尝试更改只读页面的状态。 See this other question.

错误消息P164_COURSECOUNT中的项目标识符与您传递给包的参数(:P164_APP_ID)具有相同的前缀,因此推测它们与同一页面相关。我们对您的应用程序或其架构一无所知,因此很难提供具体建议。也许您需要更改页面或项目设置,也许您需要更改包的功能。只有你能说出正确的行动方案。

【讨论】:

    【解决方案2】:

    由于您没有发布整个命令,请注意:您必须将其包含在 begin-end 块中,例如

    BEGIN
       PKG_Generate_GRNo.GenerateGR (TO_NUMBER ( :P164_APP_ID, '9999999'),
                                     :APP_USER,
                                     :P164_FIRST_NAME,
                                     :P164_LAST_NAME,
                                     :P164_EMAIL,
                                     :P164_SKYPE_ID,
                                     :P164_COUNTRY,
                                     :P164_DATE_OF_BIRTH);
    END;
    /
    

    【讨论】:

      猜你喜欢
      • 2023-02-23
      • 1970-01-01
      • 2013-05-28
      • 1970-01-01
      • 2018-08-28
      • 2021-10-21
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多