更新时间:2024-03-18 GMT+08:00

关系数据库连接

介绍

通过JDBC连接,可以对以下关系型数据库抽取、加载数据:
  • 云数据库 PostgreSQL
  • 云数据库 SQL Server
  • PostgreSQL
  • Microsoft SQL Server

连接样例

{
    "links": [
        {
            "link-config-values": {
                "configs": [
                    {
                        "inputs": [
                            {
                                "name": "linkConfig.databaseType",
                                "value": "MYSQL"
                            },
                            {
                                "name": "linkConfig.host",
                                "value": "10.120.205.30"
                            },
                            {
                                "name": "linkConfig.port",
                                "value": "3306"
                            },
                            {
                                "name": "linkConfig.database",
                                "value": "DB_name"
                            },
                            {
                                "name": "linkConfig.username",
                                "value": "username"
                            },
                            {
                                "name": "linkConfig.password",
                                "value": "Add password here"
                            },
                            {
                                "name": "linkConfig.useAgent",
                                "value": "false"
                            },
                            {
                                "name": "linkConfig.fetchSize",
                                "value": "100000"
                            },
                            {
                                "name": "linkConfig.commitSize",
                                "value": "10000"
                            },
                            {
                                "name": "linkConfig.usingNative",
                                "value": "false"
                            },
                            {
                                "name": "linkConfig.useSSL",
                                "value": "false"
                            }
                        ],
                        "name": "linkConfig"
                    }
                ]
            },
            "name": "mysql_link",
            "connector-name": "generic-jdbc-connector"
        }
    ]
}

连接参数

参数

是否必选

类型

说明

linkConfig.databaseType

枚举

数据库类型:

  • ORACLE
  • MYSQL
  • SQLSERVER
  • DB2
  • POSTGRESQL
  • DWS
  • DDM
  • SAP HANA

linkConfig.host

String

数据库服务器地址。

linkConfig.port

String

数据库服务器的端口号。

linkConfig.databaseconfig

枚举

创建Oracle连接时才有该参数,选择Oracle数据库连接类型:
  • SERVICENAME:通过SERVICE_NAME连接Oracle数据库。
  • SID:通过SID连接Oracle数据库。

linkConfig.sidname

String

配置Oracle实例ID,用于实例区分各个数据库。创建Oracle连接,且linkConfig.databaseconfig(数据库连接类型)选择为“SID”时才有该参数。

linkConfig.database

String

数据库名称。

linkConfig.username

String

用户名。

linkConfig.password

String

用户密码。

linkConfig.useAgent

Boolean

选择是否通过agent从源端获取数据。

linkConfig.fetchSize

String

每次请求获取的数据行数。

linkConfig.commitSize

String

每次请求提交的数据行数。

linkConfig.usingNative

Boolean

是否使用数据库本地API加速。

创建MySQL连接时,使用本地API加速,可以使用MySQL的LOAD DATA功能加快数据导入,提高导入数据到MySQL数据库的性能。

说明:

REPLACE 和 IGNORE 修饰符用于处理与现有行具有相同唯一键值(PRIMARY KEY或UNIQUE索引值)的新输入的行。

  • 约束冲突处理配置为"replace into"或"local",使用REPLACE,与现有行中的唯一键值具有相同值的新行将替换现有行。
  • 约束冲突处理配置为"insert into",默认使用IGNORE,与唯一键值上的现有行重复的新行将被丢弃,任务不会终止。因为Mysql服务机制无法在操作过程中停止文件传输,此情况下,CDM界面显示写入记录与实际更新行数会不一致。

Mysql Local模式详情请参见:https://dev.mysql.com/doc/refman/8.0/en/load-data.html

linkConfig.isRds

Boolean

是否支持RDS服务,云数据库默认true,其余默认false

linkConfig.useSSL

Boolean

是否使用加密传输,支持对RDS服务启用SSL加密传输,仅在创建dws连接时才有此参数

linkConfig.jdbcProperties

Map

连接属性,指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。

linkConfig.version

枚举

创建Oracle连接时才有该参数,根据您Oracle数据库的版本来选择。

  • HIGH_VERSION:当您的Oracle数据库版本高于12.1时,选择该值。
  • MED_VERSION:当您的Oracle数据库版本为12.1时,选择该值。
  • LOW_VERSION:当您的Oracle数据库版本低于12.1时,选择该值。

当出现“java.sql.SQLException: Protocol violation异常”时,可以尝试更换版本号。

dialect.identifierEnclose

String

引用符号,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。