Problem:
I'm getting errors when I compile this procedure.
create or replace procedure send_message
(v_message in varchar2)
is s integer;
begin
dbms_pipe.pack_message(v_message);
s:=dbms_pipe.send_message('DEMO_PIPE');
if s<>0
then raise_application_error(-20200,'ERROR'||to_char(s)||'sending on pipe');
end if;
end send_message;
The errors are ..
PLS-00201: identifier 'SYS.DBMS_PIPE' must be declared
PL/SQL: Statement ignored
PL/SQL: Statement ignored
PLS-00201: identifier 'SYS.DBMS_PIPE' must be declared
So whats wrong? Thanks
create or replace procedure send_message
(v_message in varchar2)
is s integer;
begin
dbms_pipe.pack_message(v_message);
s:=dbms_pipe.send_message('DEMO_PIPE');
if s<>0
then raise_application_error(-20200,'ERROR'||
end if;
end send_message;
The errors are ..
PLS-00201: identifier 'SYS.DBMS_PIPE' must be declared
PL/SQL: Statement ignored
PL/SQL: Statement ignored
PLS-00201: identifier 'SYS.DBMS_PIPE' must be declared
So whats wrong? Thanks
Resolvent:
sql>connect sys as sysdba
sql>password: change_on_install
sql> grant execute on dbms_pipe to public;
sql>create public synonym dbms_pipe for dbms_pipe;(if the synonym doesn't exist)
sql>conn scott/tiger
sql>execute the package
ps:the all package execute privilege is included in role EXECUTE_CATALOG_ROLE
