Re: 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: Tue, 26 Feb 2008 11:07:43 -0600

For anyone that is interested Tom Kyte responded to a few of my questions in
the comments to this post.

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:597877500346143250

- Ethan

On Fri, Feb 22, 2008 at 1:48 PM, Ethan Post <post.ethan@xxxxxxxxx> wrote:

>
>    - 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: