首页 > 解决方案 > 如何从 apex 启用 Rest 启用 SQL 并在 cordova 应用程序中使用它

问题描述

我是使用启用 REST 的顶点 SQL 编程的新手。我希望在我正在开发的科尔多瓦应用程序中调用或使用它。

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

标签: restweb-servicescordovaoracle-apexoracle-ords

解决方案


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

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

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

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

APEX 本身是数据库内基于 plsql 的引擎。所以,真的没有“顶点服务器”

现在到更直接的问题。如何启用 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
         }
      }
   ]
}

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


推荐阅读