I cannot help you specifically with R, but you say that you are having problems calling Oracle procedures that use OUT parameters as sys_refcursors. You also indicate that this ability is not yet implemented. However, you really say that you can "select columns from the table correctly."
So, I suggest changing the procedures to pipelined function calls, and then make a simple choice to get data from Oracle. A small example:
CREATE OR REPLACE package pkg1 as type t_my_rec is record ( num my_table.num%type, val my_table.val%type ); type t_my_tab is table of t_my_rec; function get_recs(i_rownum in number) return t_my_tab pipelined; END pkg1;
Package body:
create or replace package body pkg1 as function get_recs(i_rownum in number) return t_my_tab pipelined IS my_rec t_my_rec; begin
Using:
select * from table(pkg1.get_recs(3));
Or:
select num, val from table(pkg1.get_recs(3));
This will return three rows of data, just like a procedure will return the same data. Only in this way can you get it from the select statement (which you seem to be able to handle with R).
Hope this helps.
tbone source share