
# 关系数据库连接
#### 介绍
通过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.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.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  | 引用符号，连接引用表名或列名时的分隔符号，参考对应数据库的产品文档进行配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
