DBMS_SQL.PARSE@DBLINK (overloaded version only) PLS-00306: wrong number or types of arguments in call to 'PARSE'

From: Ethan Post <post.ethan_at_gmail.com>
Date: Fri, 22 Feb 2008 13:48:46 -0600
Message-ID: <357b48a90802221148t4296b0f0g330e1623379034bf@mail.gmail.com>

  • PLSQL (bottom of email) compiles fine in local and remote database.
  • I have PLSQL which is just like this but it does not use the array.

   dbms_sql.parse_at_dblink(exec_cursor, p_sql, dbms_sql.native);

   That one works just fine. No errors.

  • When I change the PLSQL to this...(below) I get the error.

   l_cursor := dbms_sql.open_cursor_at_dblink;

   dbms_sql.parse_at_dblink(l_cursor, p_code, 1, p_code.count, false,
   dbms_sql.native);
   dbms_sql.close_cursor_at_dblink(l_cursor);


For some reason I can not see the overloaded version of parse over the database link or some sort of implicit type conversion is taking place and it does not recognize the procedure I am trying to call. Anyone seen this before? Solutions?

Thanks,
Ethan

create or replace procedure parse_remote_array (p_code in dbms_sql.varchar2a) is

   l_cursor pls_integer;
   i number;
begin

   l_cursor := dbms_sql.open_cursor;
   dbms_sql.parse(l_cursor, p_code, 1, p_code.count, false, dbms_sql.native);

   dbms_sql.close_cursor(l_cursor);

exception

   when others then

      raise;
end;
/

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Feb 22 2008 - 13:48:46 CST

Original text of this message