0

此链接中,IBM 他们解释了如何将 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他们明确地打开游标。但是,他们似乎没有关闭它。为什么是这样?

4

1 回答 1

0

您必须将设置返回到 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;
于 2012-09-08T19:39:17.463 回答