为什么我的 Oracle Rest-Enabled SQL 引用没有被识别?

Why isn't my Oracle Rest-Enabled SQL Reference being recognised?

这几天一直在和这个吵架。希望我太厚了,某处少了一个分号。

我一直在尝试在我的本地盒子上设置对启用 REST 的 SQL (RESS) 的引用,但 Apex 拒绝承认它。

我正在使用 https://docs.oracle.com/database/apex-18.1/HTMDB/rest-enabled-sql-creating.htm#HTMDB-GUID-0906921E-AF79-49D4-B909-1C090F805D9D 上的文章,它看起来很简单。

在你提问之前:

然后在 APEX->Shared Components->Data Sources->REST Enabled SQL 中,我设置了这个引用:

它使用这些凭据:

但是,当我最初创建引用并对其进行测试时,我收到以下消息:

我究竟做错了什么? 使用 Oracle APEX 21.2.0 和 ORDS 版本 21.4.1.r0250904

屏幕截图看起来不错。我现在将检查 数据库 是否可以使用 APEX_WEB_SERVICE 到达 ORDS 端点,如下所示(您可以使用 SQL*Plus 或 SQL Workshop为此):

declare
    l_result clob;
begin
    apex_web_service.set_request_headers(
        p_name_01   => 'Content-Type', 
        p_value_01  => 'application/sql' );

    l_result := apex_web_service.make_rest_request(
                    p_url         => 'http://localhost:8080/ords/hr2/_/sql',
                    p_http_method => 'POST',
                    p_username    => 'TESTUSER1',
                    p_password    => 'testuser1',
                    p_body        => 'select sysdate from dual' );

    dbms_output.put_line( l_result );
end;

可能的错误是...

  • 未为 APEX_XXXXXX 用户设置 PL/SQL 网络 ACL
  • 数据库定义了一个无效的代理服务器