跳转至

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)"