跳转至

Sybase Writer

SybaseWriter 插件实现了写入数据到 Sybase 库表的功能。

配置样例

我们可以用 Docker 容器来启动一个 Sybase 数据库

docker run -tid --rm  -h dksybase --name sybase  -p 5000:5000  ifnazar/sybase_15_7 bash /sybase/start

然后创建一张如下表

create table addax_writer 
(
    id int,
    name varchar(255),
    salary float(2),
    created_at datetime,
    updated_at datetime
);

再使用下面的任务配置文件

{
  "job": {
    "content": [
      {
        "writer": {
          "name": "sybasewriter",
          "parameter": {
            "column": [
              "id","name","salary","created_at", "updated_at"
            ],
            "connection": [
              {
                "jdbcUrl": "jdbc:sybase:Tds:127.0.0.1:5000/master"
                ,
                "table": [
                  "dbo.addax_writer"
                ]
              }
            ],
            "username": "sa",
            "password": "password"
          }
        },
        "reader": {
          "name": "streamreader",
          "parameter": {
            "column": [
              {
                "random": "100,1000",
                "type": "long"
              },
              {
                "random": "10,100",
                "type": "string"
              },
              {
                "random": "10,1000",
                "type": "double"
              },
              {
                 "incr":"2022-01-01 13:00:00,2,d",
         "type":"date"
              },
              {
                 "incr":"2023-01-01 13:00:00,2,d",
         "type":"date"
              }
            ],
            "sliceRecordCount": 100
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "bytes": -1,
        "channel": 1
      }
    }
  }
}

参数说明

配置项 是否必须 默认值 描述
jdbcUrl 对端数据库的JDBC连接信息,jdbcUrl按照RDBMS官方规范,并可以填写连接附件控制信息
username 数据源的用户名
password 数据源指定用户名的密码
writeMode insert 写入方式,支持 insert, update,详见下文
table 所选取的需要同步的表名,使用JSON数据格式,当配置为多张表时,用户自己需保证多张表是同一表结构
column 所配置的表中需要同步的列名集合,详细描述见 rdbmswriter
splitPk 使用splitPk代表的字段进行数据分片,详细描述见 rdbmsreader
preSql 数据写入前先执行的sql语句
postSql 数据写入完成后,再执行的SQL语句
batchSize 1024 定义了插件和数据库服务器端每次批量数据获取条数,调高该值可能导致 Addax 出现OOM
session 针对本地连接,修改会话配置

类型转换

类似 SqlServerReader ,目前 SqlServerWriter 支持大部分 SqlServer 类型,但也存在部分个别类型没有支持的情况,请注意检查你的类型。