SSRS在Oracle中执行存储过程

问题描述:

我在SSRS VS2008中有一个需要从Oracle运行Stord过程的报告。在过去,我运行Oracle的函数来返回表以显示数据。除了直接的SELECT语句SSRS在Oracle中执行存储过程

例如:

select * from table(MyFunction(:parm1, :parm2)) 
select * from MyTable 

我还没有遇到来自甲骨文在SSRS一个存储过程,我想知道....

如何定义查询在DataSet中返回结果?

+0

您是直接访问Oracle,还是通过链接服务器实例? – 2010-10-26 16:12:26

+0

它直接访问Oracle – MikeTWebb 2010-10-26 17:46:08

类型SYS_REFCURSOR的输出参数创建一个存储过程,并将其放置在显示过程中的输出游标的查询的结果 - 像这样:

CREATE OR REPLACE PROCEDURE pr_myproc(L_CURSOR out SYS_REFCURSOR) 
is 
    BEGIN 
    OPEN L_CURSOR FOR 
     SELECT * FROM mytable; 
    END; 

然后在您的报告创建数据集 - 上Query选项卡,将Command类型设置为StoredProcedure,将Query字符串设置为该过程的名称,例如。 pr_myproc。如果您检查字段选项卡,它们应该匹配游标的预期结构,即。查询输出。

+0

这是伟大的....谢谢! – MikeTWebb 2010-10-27 15:58:44