MySQL 如何定时发送数据到 SQL Server?

2017-10-23 21:27:48 +08:00
 enginex

小弟主要负责前端,对 sql 只会一些基础操作,目前公司有一台测试 db(MySQL,暂由我代管),一台中

间 db(异地、SQL Server,由别人管理),需要定期将 MySQL 一个 table 的数据发送到 SQL Server 的特

定 table 上(两个 table 字段有所不同)

请教下一般如何操作?

感谢!

4551 次点击
所在节点    MySQL
19 条回复
chenychen
2017-10-23 21:33:34 +08:00
dblink
shiny
2017-10-23 21:38:36 +08:00
既然是定期,时效性要求就不会高吧,可以写个脚本导数据,定时执行即可。
enginex
2017-10-23 21:42:51 +08:00
@shiny 是用 linux crontab 脚本吗?另外,两个 table 字段不同,也可以吗
shiny
2017-10-23 21:45:27 +08:00
@enginex 都可以,windows 下的计划任务,Linux 下的 crontab。只要脚本写对了,字段不同也没问题。需要注意的是出错能被监控到。
enginex
2017-10-23 21:50:04 +08:00
@shiny 好的,我试试
dexterzzz
2017-10-23 22:02:53 +08:00
有 sql server 用 SSIS
enginex
2017-10-23 22:12:20 +08:00
@dexterzzz 是用 SSIS 可以抓取 MySQL 数据?字段不同也可以吗?
DearMark
2017-10-23 22:46:19 +08:00
Topshelf 搭配 Quartz.Net 可以解决所有问题 On Windows
https://dotblogs.com.tw/wasichris/2017/01/14/165637
XiaoFaye
2017-10-24 07:40:46 +08:00
变动不频繁的话,自己写 SQL Script,然后定时执行就好了。
enginex
2017-10-24 09:41:08 +08:00
@DearMark 似乎有些复杂,而且主机是 linux,不过依然感谢
likuku
2017-10-24 10:06:57 +08:00
会在程序语言里访问 DB 使用 SQL 么?会的话,那么写个程序同时操作两台 DB,使用 SQL 从 MYSQL 提取数据,按 SQLServer 的表结构重组数据,最后把拼好的数据插入 SQLServer 即可了吧。

定时,用 win 的计划任务 / lin 的 crontab 都可以吧。
nandaye
2017-10-24 10:23:20 +08:00
kettle/informatica etc,你现在需要一个 ETL 软件。
sunkuku
2017-10-24 10:57:52 +08:00
可以试试阿里开源的 canal
enginex
2017-10-24 10:59:49 +08:00
@likuku 只用过 php 操作 mysql,基础的增删改查,数据重组拼接这块儿不太熟悉
enginex
2017-10-24 11:00:54 +08:00
@nandaye @sunkuku 感谢,目前在尝试 SSMA,不行的话再换其他
sryanyuan
2017-10-24 11:06:48 +08:00
伪装成从节点 从 mysql 解析 binlog 数据 然后组装成 sql 语句在 mssql 执行
likuku
2017-10-24 11:54:19 +08:00
@enginex 会增删改查就行了。

所谓数据重组拼接:mysql 获取 a 库 b 表 100 行数据,b1 列 t1 数据类型,将其以 sqlserver 的 mt1 数据类型 插入 ma 库 mb 表 即可。

这是最基本的思路了。若涉及到自增字段,那得查 sqlserver 相关如何处理。
noNOno
2017-10-24 11:55:59 +08:00
kettle 写个脚本就好了
你需要一个 ETL 工具
enginex
2017-10-24 12:30:19 +08:00
@likuku 好的,我试试,感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/400046

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX