Oracle REST Data Services(ORDS)-通过REST接口操作Oracle数据库

   简介

 ORDS,Oracle REST Data Services,通过一个java中间层应用,将HTTP(S)动词(GET,POST,PUT,DELETE等)等REST接口映射到数据库事务,并返回使用JSON格式化的任何结果。

Oracle REST Data Services(ORDS)-通过REST接口操作Oracle数据库_第1张图片

基本要求:

 以java服务独立运行或通过支持javaEE的应用程序服务器,如WebLogic,GlassFish,Tomcat。

下载和安装

1. 从oracle官网下载ORDS,解压

2.简单配置: 解压后params目录下,ords_params.properties文件配置oracle服务器的登录和数据库信息。

db.hostname=数据库地址
db.port=数据库端口一般1521
db.servicename=数据库服务名
db.sid=数据库实例
db.username=APEX_PUBLIC_USER
migrate.apex.rest=false
rest.services.apex.add=
rest.services.ords.add=true
schema.tablespace.default=SYSAUX 默认表空间
schema.tablespace.temp=TEMP  临时表空间
standalone.http.port=8080  独立运行时使用端口号
standalone.static.images=  Oracle Application Express显示的静态图片,windows下反斜杠如d\:/test/apex426/apex/images/
user.tablespace.default=USERS 用户默认表空间
user.tablespace.temp=TEMP   用户临时表空间

 3. 运行

   1) 独立运行,命令行运行指令:

java -jar ords.war 或者
    java -jar ords.war install simple
    运行后还会有一些配置,按说明进行:或设置密码和。

   2) Tomcat运行

  将ords.war文件放到tomcat安装目录的webapps目录下,执行Tomcat,通过路径

http://:/ords/

访问,其中port是tomcat配置的duankouhao

   3) 卸载,运行:

java -jar ords.war uninstall

  4) 其他复杂配置请参照官方文档

 3. 数据库配置

  1) 下载oracle的数据库管理工具ORACLE SQL DEVELOPER(该工具带REST配置)

  2) 建立一个到自己数据库的连接,比如用户名为ordstest。

  3) 选中自己需要通过REST访问的表,右键菜单有"启动REST服务"功能

Oracle REST Data Services(ORDS)-通过REST接口操作Oracle数据库_第2张图片

 4) 弹出框中选中 "启动对象"复选框,取消选中"需要授权"选框,点击完成。

Oracle REST Data Services(ORDS)-通过REST接口操作Oracle数据库_第3张图片

 5) 浏览器中访问:http://localhost:8080/ords/ordstest/emp 就能得到该表中的数据。

类型映射

基本类型

Oracle基本类型 JSON类型 示例
NUMBER number "big" : 1234567890
"bigger" : 1.2345678901e10
RAW string "code" : "SEVMTE8gV09STEQh"
DATE string "start" : "1995-06-02T04:29:11Z"
TIMESTAMP string when : "1995-06-02T04:29:11.002Z"
TIMESTAMP WITH LOCAL TIME ZONE string "at" : "1995-06-02T04:29:11.002Z"
CHAR string "message" : "Hello World! "
ROWID string "id" : "AAAGq9AAEAAAA0bAAA"
UROWID string "uid" : "AAAGq9AAEAAAA0bAAA"
FLOAT number *as NUMBER
NCHAR string "message" : "Hello World! "
NVARCHAR2 string "message" : "Hello World!"
VARCHAR2 string "message" : "Hello World!"
BINARY_FLOAT number *as NUMBER
BINARY_DOUBLE number *as NUMBER
TIMESTAMP WITH TIME ZONE object "event" : "1995-06-02T04:29:11.002Z"
"when" : "1995-06-02T04:29:11.002Z"
INTERVAL YEAR TO MONTH object "until" : "P-123Y3M"
"until" : "P3M"
INTERVAL DAY TO SECOND object "until" : "P-5DT3H55M"
"until" : "PT3H55M"
LONG string *as VARCHAR
LONG RAW string "long_code" : { "SEVMTE8gV09STEQh"
BLOB string "bin" : {"base64_value" : "bGVhc3VyZS4="}
CLOB string "text" : {"value" : "Hello World!"}
BFILE Object "file" : {"locator" : "TARGET_DIR","filename" : "myfile"}
BOOLEAN true|false "right" : true
"wrong" : false

对象类型示例:

"address" : {

"number" : 42,

"street" : "Wallaby Way",

"city" : "Sydney"

}

数组类型:

"addresses" : [

{

"__db_type" : "MY_SCHEMA.AUS_ADDRESS",

"number" : 42,

"street" : "Wallaby Way",

"city" : "Sydney"

},

{

"__db_type" : "MY_SCHEMA.UK_ADDRESS"

"number : 1,

"street" : "Oracle Parkway"

"city" : "Reading"

"postcode" : "RG6 1RA"

}

]

你可能感兴趣的:(数据库)