| General Information |
Note: EPG is an acronym for Embedded PL/SQL Gateway.
DAD is an acronym for Data Access Descriptor.
The XDBADMIN role is required to modify the embedded gateway configuration through the configuration API.
Modification of the configuration by a user without the role will result in an "access denied" exception. |
| Source |
{ORACLE_HOME}/rdbms/admin/dbmsepg.sql |
| First Available |
2004 |
| Constants |
| Name |
Data Type |
Value |
| LOG_EMERG |
PLS_INTEGER |
0 |
| LOG_ALERT |
PLS_INTEGER |
1 |
| LOG_CRIT |
PLS_INTEGER |
2 |
| LOG_ERR |
PLS_INTEGER |
3 |
| LOG_WARNING |
PLS_INTEGER |
4 |
| LOG_NOTICE |
PLS_INTEGER |
5 |
| LOG_INFO |
PLS_INTEGER |
6 |
| LOG_DEBUG |
PLS_INTEGER |
7 |
|
| DAD Attributes |
| Attribute Name |
| database-username |
| default-page |
| document-table-name |
| document-path-docs |
| document-procedure |
| nls-language |
| request-validation |
|
| Data Types |
TYPE varchar2_table IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER; |
| Dependencies |
| DBA_EPG_DAD_AUTHORIZATION |
DBMS_XDB |
DUAL |
PLITBLM |
| DBMS_SYS_ERROR |
DBMS_XMLDOM |
EPG$_AUTH |
XMLTYPE |
|
| Exceptions |
| Number |
Name |
Constant |
| ORA-24231 |
dad_not_found |
dad_not_found_num |
| ORA-24232 |
unknown_attribute |
unknown_attribute_num |
| ORA-24240 |
invalid_dad_name |
invalid_dad_name_num |
|
| Security Model |
Execute is granted to PUBLIC |
| Subprograms |
|
| |
| AUTHORIZE_DAD |
| Authorizes a DAD |
dbms_epg.authorize_dad(
dad_name IN VARCHAR2,
user IN VARCHAR2 DEFAULT NULL); |
SELECT * FROM dba_epg_dad_authorization;
set serveroutput on
DECLARE
path_list dbms_epg.varchar2_table;
dad_list dbms_epg.varchar2_table;
BEGIN
dbms_epg.create_dad('UWDAD', '/uwweb/*');
dbms_epg.authorize_dad('UWDAD', 'UWCLASS');
dbms_epg.get_all_dad_mappings('UWDAD', path_list);
dbms_output.put_line('-' || path_list(1) || '-');
dbms_epg.get_dad_list(dad_list);
FOR i IN 1..dad_list.COUNT LOOP
dbms_output.put_line('-' || dad_list(i) || '-');
END LOOP;
END;
/
SELECT * FROM dba_epg_dad_authorization; |
| |
| CREATE_DAD |
| Creates a DAD |
dbms_epg.create_dad(dad_name IN VARCHAR2, path IN VARCHAR2 DEFAULT NULL); |
| See AUTHORIZE_DAD Demo |
| |
| DEAUTHORIZE_DAD |
| Revoke authorization of a DAD |
dbms_epg.deauthorize_dad(
dad_name IN VARCHAR2,
user IN VARCHAR2 DEFAULT NULL); |
| exec dbms_epg.authorize_dad('UWDAD', 'UWCLASS'); |
| |
| DELETE_DAD_ATTRIBUTE |
| Deletes a DAD attribute |
dbms_epg.delete_dad_attribute(
dad_name IN VARCHAR2,
attr_name IN VARCHAR2); |
| exec dbms_epg.deauthorize_dad('UWDAD', 'nls-language'); |
| |
| DELETE_GLOBAL_ATTRIBUTE |
| Deletes a global attribute |
dbms_epg.delete_global_attribute(attr_name IN VARCHAR2); |
BEGIN
dbms_epg.delete_global_attribute('nls-language');
END;
/ |
| |
| DROP_DAD |
| Drops a DAD |
dbms_epg.drop_dad(dad_name IN VARCHAR2); |
SELECT * FROM dba_epg_dad_authorization;
exec dbms_epg.drop_dad('UWDAD');
SELECT * FROM dba_epg_dad_authorization; |
| |
| GET_ALL_DAD_ATTRIBUTES |
| Retrieves all the attributes of a DAD |
dbms_epg.get_all_dad_attributes(
dad_name IN VARCHAR2,
attr_names OUT NOCOPY VARCHAR2_TABLE,
attr_values OUT NOCOPY VARCHAR2_TABLE); |
set serveroutput on
DECLARE
name_list dbms_epg.varchar2_table;
vals_list dbms_epg.varchar2_table;
BEGIN
dbms_epg.get_all_dad_attributes('APEX', name_list, vals_list);
FOR i IN 1..name_list.COUNT LOOP
dbms_output.put_line(name_list(i) || '-' || vals_list(i));
END LOOP;
END;
/ |
| |
| GET_ALL_DAD_MAPPINGS |
| Gets all virtual paths a DAD is mapped to |
dbms_epg.get_all_dad_mappings(
dad_name IN VARCHAR2,
paths OUT NOCOPY VARCHAR2_TABLE); |
| See AUTHORIZE_DAD Demo |
| |
| GET_ALL_GLOBAL_ATTRIBUTES |
| Returns all global attributes and values |
dbms_epg.get_all_global_attributes(
attr_names OUT NOCOPY VARCHAR2_TABLE,
attr_values OUT NOCOPY VARCHAR2_TABLE); |
set serveroutput on
DECLARE
name_list dbms_epg.varchar2_table;
vals_list dbms_epg.varchar2_table;
BEGIN
dbms_epg.get_all_global_attributes(name_list, vals_list);
FOR i IN 1..name_list.COUNT LOOP
dbms_output.put_line('-' || name_list(1) || '-');
dbms_output.put_line('-' || vals_list(1) || '-');
END LOOP;
END;
/ |
| |
| GET_DAD_ATTRIBUTE |
| Retrieves the value of a DAD attribute |
dbms_epg.get_dad_attribute(dad_name IN VARCHAR2, attr_name IN VARCHAR2)
RETURN VARCHAR2; |
SELECT dbms_epg.get_dad_attribute('UWDAD', 'database-username')
FROM dual; |
| |
| GET_DAD_LIST |
| Returns a list of all DADs |
dbms_epg.get_dad_list(dad_names OUT NOCOPY VARCHAR2_TABLE); |
| See AUTHORIZE_DAD Demo |
| |
| GET_GLOBAL_ATTRIBUTE |
| Gets a global attribute |
dbms_epg.get_global_attribute(attr_name IN VARCHAR2) RETURN VARCHAR2; |
SELECT dbms_epg.get_global_attribute('default-page')
FROM dual; |
| |
| MAP_DAD |
| Maps a DAD to a virtual path. If the virtual path exists already, the virtual path will be mapped to the new DAD |
dbms_epg.map_dad(dad_name IN VARCHAR2, path IN VARCHAR2); |
BEGIN
dbms_epg.unmap_dad('UWDAD', '/uwweb/*');
dbms_epg.map_dad('UWDAD', '/uwweb/*');
END;
/ |
| |
| SET_DAD_ATTRIBUTE |
| Sets a DAD attribute |
dbms_epg.set_global_attribute(
attr_name IN VARCHAR2,
attr_value IN VARCHAR2); |
BEGIN
dbms_epg.set_dad_attribute('UWDAD', 'database-username', 'SCOTT');
execute immediate 'GRANT execute ON dbms_epg TO SCOTT';
END;
/ |
| |
| SET_GLOBAL_ATTRIBUTE |
| Sets a global attribute |
dbms_epg.set_global_attribute(
attr_name IN VARCHAR2,
attr_value IN VARCHAR2); |
BEGIN
dbms_epg.set_global_attribute('database-username', 'SYSTEM');
END;
/ |
| |
| UNMAP_DAD |
| Unmaps a DAD from a virtual path. If the virtual path is NULL, unmap the DAD from all virtual paths. |
dbms_epg.unmap_dad(dad_name IN VARCHAR2, path IN VARCHAR2 DEFAULT NULL); |
| See MAP_DAD Demo |