前言
需求:
写一个可执行程序(需要用到kettle),从数据源
的数据同步到指定数据库
。
1. 表字段知道,
2. 在多个库(A库,B库)中存在同一个表(c表),每次根据客户自己指定数据库去表中拿数据
所以需要在程序里设置动态的数据库连接串,让客户自己配置数据源
和指定数据库
本次案例涉及java
和kettle
kettle配置如下:
数据源
配置如下:
属性 | 值 |
---|---|
连接名称 | 127.0.0.1(自定义标识) |
自定义连接URL | ${db_url} |
自定义驱动类名称 | ${db_driverclassname} |
用户名 | ${db_username} |
密码 | ${db_password} |
密码虽然看不见,但也可以填入变量
,可以生效
-
配置
数据库连接
-
表输入
选择配置好的数据源
指定数据库
配置如下:
- 配置
数据库连接
表输出
选择配置好的数据源
kettle配置完成,保存
java配置如下:
/kettle_cfg/config/application.properties
配置文件
#数据库连接参数配置
#数据源配置
db_url = jdbc:mysql://127.0.0.1:3306/test?serverTimezone=Asia/Shanghai
db_driverclassname = com.mysql.cj.jdbc.Driver
db_username = root
db_password = root
#指定数据库配置
slave_url = jdbc:mysql://127.0.0.2:3306/testb?serverTimezone=Asia/Shangh