【问题标题】:Calling an oracle stored procedure form COGNOS从 COGNOS 调用 oracle 存储过程
【发布时间】:2012-09-07 16:21:26
【问题描述】:

this linkIBM 中,他们解释了如何将 Oracle 存储过程与 COGNOS 结合使用。

他们在做:

create or replace package body project_pk as
procedure project_sp (tproj IN numeric, result1 in out project_type1) is

begin
open result1 for
select projects.projectid, projects.projecttype
from projects
where projects.projecttype=tproj;
end;
end;
/

使用open result1 for,它们会显式打开游标。但是,他们似乎没有关闭它。这是为什么呢?

【问题讨论】:

    标签: stored-procedures oracle11g cognos-8


    【解决方案1】:

    您必须将 resuly set 返回到 Cognos。如果你关闭光标,那么也没有结果,对吧?
    Cognos 负责在完成从 SP 中提取数据后关闭游标。
    为了让您 100% 确定是这种情况,请查看此链接(与 Cognos 完全无关):
    Returning result Sets from SQL Server and Oracle

    但是,您在链接中提供的示例看起来相当复杂。这是我正在使用的:

    CREATE OR REPLACE PROCEDURE "COGNOS_SP" (
    case_id        in numeric,
    po_refcur      out sys_refcursor) is
    BEGIN
       open po_refcur for 
       select * FROM CASES WHERE CASE_ID = case_id;
    END COGNOS_SP;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-25
      • 2015-05-22
      • 2012-01-27
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多