如何从 apex 启用 Rest enabled SQL 并在 cordova 应用程序中使用它

How to enable Rest enabled SQL from apex and use it in a cordova app

我是 APEX 启用 REST SQL 编程的新手。我希望在我正在开发的 cordova 应用程序中调用或使用它。

我该怎么办?或者我应该知道什么才能实现这一目标? 在 Cordova 应用程序中访问 Apex 服务器应该遵循哪些步骤

为了让我的回答有意义,让我列出您正在谈论的技术堆栈。

HTTP 请求 -> ORDS -> 数据库 -> APEX 引擎

ORDS ( oracle.com/rest ) 提供 rest-sql 的所有 http(s) 处理和执行、rest api 以及对 APEX 引擎的调用

这是通过 JDBC 到 Oracle 数据库服务器的连接池完成的。

APEX 本身是数据库中基于 plsql 的引擎。所以,真的没有 'apex server'

现在进入更直接的问题。如何启用 REST SQL。在 ORDS default.xml 配置文件中添加:

<entry key="restEnabledSql.active">true</entry>

启用后,该功能将可用。

这是要测试的 cURL 命令。

curl -X "POST" "http://localhost:9090/ords/klrice/_/sql" \
      -H 'Content-Type: application/sql' \
      -u 'KLRICE:KLRICE' \
      -d "select * from dual;"

输出>>

{
   "env":{
      "defaultTimeZone":"America/New_York"
   },
   "items":[
      {
         "statementId":1,
         "statementType":"query",
         "statementPos":{
            "startLine":1,
            "endLine":1
         },
         "statementText":"select * from dual",
         "response":[

         ],
         "result":0,
         "resultSet":{
            "metadata":[
               {
                  "columnName":"DUMMY",
                  "jsonColumnName":"dummy",
                  "columnTypeName":"VARCHAR2",
                  "precision":1,
                  "scale":0,
                  "isNullable":1
               }
            ],
            "items":[
               {
                  "dummy":"X"
               }
            ],
            "hasMore":false,
            "limit":1500,
            "offset":0,
            "count":1
         }
      }
   ]
}

这里还有一篇博客 post,其中包含更多详细信息 http://krisrice.io/2017-09-06-ords-173-beta-introducing-rest-enabled/