Consultor Eletrônico



Kbase P172558: Running stored procedure through Oracle DataServer causes error 14944
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   30/08/2010
Status: Unverified

SYMPTOM(s):

Running stored procedure through Oracle DataServer causes error 14944

error text: ---- (14944)

error text: ORA-06550: line 1, column 11: ---- (14944)

error text: PLS-00302: component '<STORED_PROCEDURE_NAME>' must be declared ---- (14944)

error text: ORA-06550: line 1, column 7: ---- (14944)

error text: PL/SQL: Statement ignored ---- (14944)

ORACLE error -6550 see "ORACLE Error Messages and Codes Manual". (1252)

Usually a PL/SQL compilation error. (4213)

When some other users other than the owner runs with execute any procedure privileges, the stored procedure runs fine.

Running the same stored procedure from the SQLPLUS using the owner also shows the same errors listed above


SQL> var r number
SQL> exec owner.stored_procedure_name(:r);
BEGIN owner.stored_procedure_name(:r);
END;

*
ERROR at line 1:
ORA-06550: line 1, column 11:
PLS-00302: component '<stored_procedure_name>' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge 10.x
Progress 9.x
Oracle DataServer

CAUSE:

A Oracle package exist with the same name as the owner userid on the oracle instance. This caused the fully qualified oracle procedure to be executed from the oracle package. But the stored procedure is mising from that oracle package.

FIX:

Add the stored procedure to the oracle package that has the same name as the owner userid.