水晶报表版本是8.5
存储过程是:
create or replace package pkg_test4
as
type v_cursor is ref cursor;
end pkg_test4;
/
create or replace procedure pro_test4
(P_CURSOR in out pkg_test4.v_cursor)
as
sqlstr varchar2(3000);
begin
sqlstr :='select table_name from user_tables';
open p_cursor for sqlstr;
end pro_test4;
/
水晶报表发布给一个java应用
问题:
1、返回多条记录,只能这么定义存储过程?
2、如何在sqlplus里测试存储过程?
3、在水晶报表里能访问该存储过程,但是发布以后不能生成报表?

解决方案 »

  1.   

    請問可以告知怎樣在crystalreport里調用oracle的存储过程
      

  2.   

    crystalreport 9
    oracle 9i謝謝
      

  3.   

    水晶报表,我不懂。
    在sqlplusw中测试存储过程还是知道的。
    像这样的存储过程,必须编写pl/sql 程序块来测试。
    declare
      V_RESULT pkg_test4.V_CURSOR;
    begin
      V_RESULT:=pkg_test4.PRO_TEST4(..);
      FETCH .. INTO ..
      ... 
        DBMS_OUTPUT.PUT_LINE(..);
    end;在测试前,最好先  set serveroutput on
    如果你有pl/sql developer那么最好不过了,它自带测试模板
      

  4.   

    1. 不能在存储过程中,将产生的纪录插入到表中,crystal report直接从表中取数据?
       感觉这样会方便点.
    2. 测试存储过程在 PL/SQL developer中不是更方便么?:)