Hi
I am using the below select statement to get the host ipaddress
select utl_inaddr.GET_HOST_ADDRESS into v_HostIPAddress from dual;
It's Working fine when i am running in the SQL Prompt .it is giving me the correct ip address but when i have included this piece of code in the procedure then it's giving me the error
Sample Code which i am using :
procedure getPatAPI(p_Id IN varchar2,
p_path in out varchar2) is
v_HostIPAddress varchar2(20);
begin
select utl_inaddr.GET_HOST_ADDRESS into v_HostIPAddress from dual;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,
'getPathAPI:' ||
SQLCODE || ' -ERROR- ' || SQLERRM);
end;
Try to execute by passing the p_Id = 1 then giving the
Error:
ERROR- ORA-24247: network access denied by access control list (ACL)
ORA-06512: at "SYS.UTL_INADDR", line 19
ORA-06512: at "SYS.UTL_INADDR", line 40
ORA-06512: at line 1
I have run these below set of command in Oracle Standard Edition and Oracle Enterprise Edition.
In the SE i am getting the same error ORA-24247 but it's working fine in the EE .
Connected to:
Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
SQL>
SQL> EXECUTE DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('acl_for_oracle.xml','ACL for www.oracle.com', 'GENEVA_ADMIN', TRUE, 'resolve');
PL/SQL procedure successfully completed.
SQL> EXECUTE DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE('acl_for_oracle.xml','GENEVA_ADMIN', TRUE, 'resolve');
PL/SQL procedure successfully completed.
SQL> EXECUTE DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('acl_for_oracle.xml','*');
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> exit
Disconnected from Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
So to run the UTL_INADDR in the Oracle Standard Edition is there any other kind of permission is required ???