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

  • From: "Ethan Post" <post.ethan@xxxxxxxxx>
  • To: oracle-l <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 22 Feb 2008 13:48:46 -0600

   - 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@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@dblink;
   dbms_sql.parse@dblink(l_cursor, p_code, 1, p_code.count, false,
   dbms_sql.native);
   dbms_sql.close_cursor@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;
/

Other related posts: