Remote Function Call: Internal Error

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Kid A

    Remote Function Call: Internal Error

    I am writing stored proecdures on Oracle 9 (release 1 I believe). I am
    having difficulty creating a stored procedure that makes a remote
    function call to a database on a different host.

    On the remote database I declare the following package:

    ----------

    create or replace package remote_package
    as
    cursor cursor_a is select * from my_table;
    type my_table_tab is table of cursor_a%ROWTYP E;

    ----------

    I declare the following function

    ---------
    create or replace function my_function return
    remote_package. my_table_tab

    as
    indx NUMBER;

    BEGIN
    open remote_package. cursor_a;
    indx := 0;
    for rec_a in remote_package. cursor_a
    loop
    my_table_tab(in dx) := rec_a;
    indx := indx + 1;
    end loop;

    END;
    -----------------


    On my local database, I have the following procedure written:


    -------------------------
    create or replace procedure call_remote

    as

    a_table remote_package. my_table_tab@RE MOTE_HOST

    begin
    a_table := my_function@REM OTE_HOST;
    end;
    --------------------------------

    When I run the local SQL statement to create the procedure, I get the
    following error:

    PLS-00801: INTERNAL ERROR[1401]

    I made sure that:
    @REMOTE_HOST is valid
    When I deploy the package and functions locally, everything works
    perfectly.

    For some reason calling the package and function that is passing back
    a table of records is just not working and I am not sure why. Any
    help would be greatly appreciated, thanks!

    -PK
Working...