Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

PROCEDURE DOESN'T EXIST

Status
Not open for further replies.

tekpr00

IS-IT--Management
Jan 22, 2008
186
CA
Hi,

I created and compiled a procedure in oracle 10g. When I looked at the status of the procedure. It tells me that it is VALID.

PROCEDURE
GET_MANUAL_LOAD
OBJECT_TYPE
-------------------
OBJECT_NAME
---------------------
STATUS
-------
VALID

However, when I ran my apache webserver script to call this procedure from the database. The Apache error log tells says that "PROCEDURE DOESN'T EXIST"

I have granted PUBLIC to the procedure.

Please help
 
When trying to run it, are you logged into the database under the schema who owns the procedure? If not, you will need to reference the procedure as SCHEMA_NAME.PROCEDURE_NAME or you will need to create a public synonym to use to call it by its name alone.

[sup]Beware of false knowledge; it is more dangerous than ignorance.[/sup][sup] ~George Bernard Shaw[/sup]
Consultant Developer/Analyst Oracle, Forms, Reports & PL/SQL (Windows)
My website: www.EmuProductsPlus.com
 
Yes, I was logged in as the user who owns the object. That is why I could see it when I query user_objects view.

However, the Apache conf file could not see it, that is why I am getting PROCEDURE DOESN'T EXIST.
 
Ask your DBA to create a public synonym for this stored proc. Apache will not give you this error.
 
Tekpr00,

If your code really reads:
Code:
create public synonym GET_MANUAL_LOAD for [URL unfurl="true"]WWW_CRPROD.GET_MANUAL_LOAD[/URL]

create public synonym GET_MANUAL_LOAD for WWW_CRTRAIN.GET_MANUAL_LOAD
...then your problem is that you are destroying the first synonym with the second synonym since the synonym names are identical.

And, yes, you must grant at least EXECUTE privilege to your intended users..."READ" (i.e. SELECT) and "WRITE" (i.e., UPDATE or DELETE) are illegal on procedures:
Code:
grant select, update, execute on prime to public
                                 *
ERROR at line 1:
ORA-02225: only EXECUTE and DEBUG privileges are valid for procedures

grant execute on prime to public;

Grant succeeded.
Let us know if this was helpful.



[santa]Mufasa
(aka Dave of Sandy, Utah, USA)
[I provide low-cost, remote Database Administration services: www.dasages.com]
“Beware of those that seek to protect you from harm. The cost will be your freedoms and your liberty.”
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top