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