Oracle Writer¶
Oracle Writer 插件实现了写入数据到 Oracle 目的表的功能。
配置样例¶
这里使用一份从内存产生到 Oracle 导入的数据。
{
  "job": {
    "setting": {
      "speed": {
        "channel": 1,
        "bytes": -1
      }
    },
    "content": {
      "reader": {
        "name": "streamreader",
        "parameter": {
          "column": [
            {
              "value": "Addax",
              "type": "string"
            },
            {
              "value": 19880808,
              "type": "long"
            },
            {
              "value": "1988-08-08 08:08:08",
              "type": "date"
            },
            {
              "value": true,
              "type": "bool"
            },
            {
              "value": "test",
              "type": "bytes"
            }
          ],
          "sliceRecordCount": 1000
        }
      },
      "writer": {
        "name": "oraclewriter",
        "parameter": {
          "username": "root",
          "password": "root",
          "column": [
            "id",
            "name"
          ],
          "preSql": [
            "delete from test"
          ],
          "connection": {
            "jdbcUrl": "jdbc:oracle:thin:@[HOST_NAME]:PORT:[DATABASE_NAME]",
            "table": [
              "test"
            ]
          }
        }
      }
    }
  }
}
参数说明¶
该插件基于 RDBMS Writer 实现,因此可以参考 RDBMS Writer 的所有配置项,并在此基础上增加了一些 OracleWriter 特有的配置项。
| 配置项 | 是否必须 | 默认值 | 描述 | 
|---|---|---|---|
| writeMode | 否 | insert | 写入方式,支持 insert, update,详见下文 | 
writeMode¶
默认情况下, 采取 insert into 语法写入 Oracle 表,如果你希望采取主键存在时更新,不存在则写入的方式,也就是 Oracle 的 merge into 语法, 可以使用 update 模式。假定表的主键为 id ,则 writeMode 配置方法如下:
"writeMode": "update(id)"
如果是联合唯一索引,则配置方法如下:
"writeMode": "update(col1, col2)"