小弟主要负责前端,对 sql 只会一些基础操作,目前公司有一台测试 db(MySQL,暂由我代管),一台中
间 db(异地、SQL Server,由别人管理),需要定期将 MySQL 一个 table 的数据发送到 SQL Server 的特
定 table 上(两个 table 字段有所不同)
请教下一般如何操作?
感谢!
1
chenychen 2017-10-23 21:33:34 +08:00
dblink
|
2
shiny 2017-10-23 21:38:36 +08:00
既然是定期,时效性要求就不会高吧,可以写个脚本导数据,定时执行即可。
|
4
shiny 2017-10-23 21:45:27 +08:00
@enginex 都可以,windows 下的计划任务,Linux 下的 crontab。只要脚本写对了,字段不同也没问题。需要注意的是出错能被监控到。
|
6
dexterzzz 2017-10-23 22:02:53 +08:00
有 sql server 用 SSIS
|
8
DearMark 2017-10-23 22:46:19 +08:00
|
9
XiaoFaye 2017-10-24 07:40:46 +08:00
变动不频繁的话,自己写 SQL Script,然后定时执行就好了。
|
11
likuku 2017-10-24 10:06:57 +08:00
会在程序语言里访问 DB 使用 SQL 么?会的话,那么写个程序同时操作两台 DB,使用 SQL 从 MYSQL 提取数据,按 SQLServer 的表结构重组数据,最后把拼好的数据插入 SQLServer 即可了吧。
定时,用 win 的计划任务 / lin 的 crontab 都可以吧。 |
12
nandaye 2017-10-24 10:23:20 +08:00
kettle/informatica etc,你现在需要一个 ETL 软件。
|
13
sunkuku 2017-10-24 10:57:52 +08:00
可以试试阿里开源的 canal
|
16
sryanyuan 2017-10-24 11:06:48 +08:00
伪装成从节点 从 mysql 解析 binlog 数据 然后组装成 sql 语句在 mssql 执行
|
17
likuku 2017-10-24 11:54:19 +08:00
@enginex 会增删改查就行了。
所谓数据重组拼接:mysql 获取 a 库 b 表 100 行数据,b1 列 t1 数据类型,将其以 sqlserver 的 mt1 数据类型 插入 ma 库 mb 表 即可。 这是最基本的思路了。若涉及到自增字段,那得查 sqlserver 相关如何处理。 |
18
noNOno 2017-10-24 11:55:59 +08:00
kettle 写个脚本就好了
你需要一个 ETL 工具 |