Angel Flores Torres
Arquitectura / Diferencia REST Enabled SQL y RESTful Services
Requerimientos
Instalación de ORDS en una base de datos Oracle - Que no tiene instalado APEX
Configuración schema REST - Destino
APEX - Creación y uso del Servicio REST Enabled SQL
Arquitectura / Diferencia REST Enabled SQL y RESTful Services
Requerimientos
Instalación de ORDS en una base de datos Oracle - Que no tiene instalado APEX
Configuración schema REST - Destino
APEX - Creación y uso del Servicio REST Enabled SQL
Bonus
Fuente: http://www.peoug.org/wp-content/uploads/2018/09/MarcSewtz-apex_181_rest.pdf
Fuente: http://dermotoneill.blogspot.com/2017/09/new-rest-enabled-sql-for-ords.html
APEX 5.2+
ORDS 17.4+
Arquitectura / Diferencia REST Enabled SQL y RESTful Services
Requerimientos
Instalación de ORDS en una base de datos Oracle - Que no tiene instalado APEX
Configuración schema REST - Destino
APEX - Creación y uso del Servicio REST Enabled SQL
Bonus
a) Instancia de APEX
b) Base de Datos con:
Arquitectura / Diferencia REST Enabled SQL y RESTful Services
Requerimientos
Instalación de ORDS en una base de datos Oracle - Que no tiene instalado APEX
Configuración schema REST - Destino
APEX - Creación y uso del Servicio REST Enabled SQL
Bonus
4. Desinstalar
C:\MyPc\ords_20_4>java -jar ords.war install
C:\MyPc\ords_20_4>java -jar ords.war uninstall
En caso se usar Tomcat
Modificar el archivo de defaults ubicado en: ...ords_config/ords/defaults.xml
agregar /modificar la entrada de REST Enable SQL a true
Si estamos usando HTTP (Ambiente de confianza/demo), podríamos desactivar SSL
<entry key="restEnabledSql.active">true</entry>
<entry key="security.verifySSL">false</entry>
Arquitectura / Diferencia REST Enabled SQL y RESTful Services
Requerimientos
Instalación de ORDS en una base de datos Oracle - Que no tiene instalado APEX
Configuración schema REST - Destino
APEX - Creación y uso del Servicio REST Enabled SQL
Bonus
* Usando SQL Developer * SQL statement
Text
Test Postman
BEGIN
ORDS.enable_schema(
p_enabled => TRUE,
p_schema => 'HR_EMP',
p_url_mapping_type => 'BASE_PATH',
p_url_mapping_pattern => 'employees',
p_auto_rest_auth => FALSE
);
COMMIT;
END;
* Creando schema, tabla, permisos
Arquitectura / Diferencia REST Enabled SQL y RESTful Services
Requerimientos
Instalación de ORDS en una base de datos Oracle - Que no tiene instalado APEX
Configuración schema REST - Destino
APEX - Creación y uso del Servicio REST Enabled SQL
Bonus
Arquitectura / Diferencia REST Enabled SQL y RESTful Services
Requerimientos
Instalación de ORDS en una base de datos Oracle - Que no tiene instalado APEX
Configuración schema REST - Destino
APEX - Creación y uso del Servicio REST Enabled SQL
Bonus
apex_web_service.make_rest_request
insertando datos
creando procedure
Postman
declare
l_response clob;
begin
apex_web_service.g_request_headers(1).name := 'Content-Type';
apex_web_service.g_request_headers(1).value := 'application/sql';
l_response := apex_web_service.make_rest_request (
p_url => 'http://192.168.101.220:8080/ords/employees/_/sql'
, p_http_method => 'POST'
, p_body => 'select sysdate from dual'
, p_username => 'hr_emp'
, p_password => 'hr_emp'
);
dbms_output.put_line(l_response);
end;
192.168.101.220:8080/ords/employees/_/sql
--simple insert
insert into EMP (EMPNO,ENAME,JOB) values (1,'OFFICE HOURS','ORACLE');
-- -- forzando error / commit implicito
insert into EMP (EMPNO,ENAME,JOB) values (1,'OFFICE HOURS 2','ORACLE');
insert into EMP (EMPNO,ENAME,JOB) values (2,'OFFICE HOURS 3','ORACLE');
-- forzando error
begin
insert into EMP (EMPNO,ENAME,JOB) values (1,'OFFICE HOURS 1','ORACLE');
insert into EMP (EMPNO,ENAME,JOB) values (3,'OFFICE HOURS 3','ORACLE');
end;