DBAsupport.com Forums - Powered by vBulletin
Results 1 to 4 of 4

Thread: ORA-06576: not a valid function or procedure name

  1. #1
    Join Date
    Aug 2002
    Posts
    8

    Question ORA-06576: not a valid function or procedure name

    ORA-06576: not a valid function or procedure name

    Hi. I receive this message when I try to call a procedure that synchronize the text indexes.

    CREATE OR REPLACE PROCEDURE SYNC_TEXT_INDEXES IS
    BEGIN
    ctx_ddl.sync_index( idx_name => 'CLI_NOMBRE_NDX');
    ctx_ddl.sync_index( idx_name => 'CLI_RAZON_SOCIAL_NDX');
    END;
    /

    This procedure run ok when I execute it since SQLPLUS with "exec sync_text_indexes", But it doesn't run ok when I call it since others applications, like TOAD with "call sync_text_indexes" or since a program in Visual Basic.

    I receive the message:
    ORA-06576: not a valid function or procedure name


    Thanks in advance.

    Fernando Gonzalez
    fernando_gonzalez_franco@hotmail.com

  2. #2
    Join Date
    May 2002
    Posts
    2,645
    The user trying to execute the procedure makes a difference. See below for the problems scott has letting james execute one of scott's procedures:

    SQL>show user
    USER is "SCOTT"

    SQL> create or replace procedure println as
    2 v_stmt varchar2(30) := 'Now is the time.';
    3 begin
    4 dbms_output.put_line(v_stmt);
    5 end;
    6 /

    Procedure created.

    SQL> set serveroutput on
    SQL> exec println;
    Now is the time.

    PL/SQL procedure successfully completed.

    SQL> conn james/james
    Connected.
    SQL> exec println;
    BEGIN println; END;

    *
    ERROR at line 1:
    ORA-06550: line 1, column 7:
    PLS-00201: identifier 'PRINTLN' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored

    SQL> conn system/manager
    Connected.
    SQL> grant create synonym to scott;

    Grant succeeded.

    SQL> conn scott/tiger
    Connected.
    SQL> create public synonym println for println;
    create public synonym println for println
    *
    ERROR at line 1:
    ORA-01031: insufficient privileges


    SQL> conn system/manager
    Connected.
    SQL> grant create public synonym to scott;

    Grant succeeded.

    SQL> conn scott/tiger
    Connected.
    SQL> create public synonym println for println;

    Synonym created.

    SQL> conn james/james
    Connected.

    SQL> set serveroutput on
    SQL> exec println
    Now is the time.

    PL/SQL procedure successfully completed.

  3. #3
    Join Date
    Aug 2002
    Posts
    8

    I'm running this with the same user.

    Hi. I'm running the procedure with the same user. In SQlPlus and TOAD.
    But In TOAD I receive the error, and in SQlplus it runs ok.

    The user is the owner of the procedure and the owner of the tables and indexes.

    That user has privilegies on the ctx_ddl procedure. procedure of the user ctxsys.

    Thanks.

    Fernando.

  4. #4
    Join Date
    Aug 2002
    Posts
    8

    Smile thanks.

    I've seen that the problem is how I use the CALL instruction. Because any procedure that I use without parameters produce the same error.

    Example:

    SQL> create or replace procedure nothing is
    2 begin
    3 null;
    4 end;
    5 /

    Procedure created.

    SQL> call nothing;
    call nothing
    *
    ERROR at line 1:
    ORA-06576: not a valid function or procedure name


    SQL> exec nothing;

    PL/SQL procedure successfully completed.

    But.

    SQL> call nothing();

    Call completed.

    SQL>

    I don't know why ?

    I thought that it was a problem with my intermedia configuration.

    Thanks.

    Fernando.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width