ORA-04067: not executed, stored procedure "PUBLIC." does not exist
185714Jun 20 2007 — edited Jun 12 2008Here's one for eyes that have seen more than mine!
I have a form that builds a pl/sql collection, passes it as an argument to a package procedure stored in the database, which in turn inserts records into a table using the FORALL methodology.
Everything works fine when running the form via my OC4J instance (10g R1) on my (Windows) PC. But when the form is moved to our 10g iAS server (10g R2 on Unix), if fails. The error returned is
ORA-04067: not executed, stored procedure "PUBLIC." does not exist
This looks like something is misconfigured synonym- or privilege-wise on the database, but the form works fine against the same database instance (10g EE 10.1.0.4.0) when run via OC4J.
I've had to recode the form to do the inserts in a cursor FOR loop. This is not a problem for this piece of the application, because we are really only talking about literally a handful of records (10-12 tops). I coded it this way for consistency, not performance. But other pieces of the application coming down the pike will need to use this technique for 5k or more records, so I need to find a solution for this.