首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
V2EX  ›  MySQL

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

  •  
  •   enginex · 2017-10-23 21:27:48 +08:00 · 2487 次点击
    这是一个创建于 774 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    请教下一般如何操作?

    感谢!

    第 1 条附言  ·  2017-10-24 22:04:20 +08:00
    感谢各位的热心帮助,最后还是用 kettle 解决了( ETL tool 真的很强大),sql 脚本方面,小弟抽空还会再努力学习,毕竟这才是正道
    19 回复  |  直到 2017-10-24 12:30:19 +08:00
        1
    chenychen   2017-10-23 21:33:34 +08:00
    dblink
        2
    shiny   2017-10-23 21:38:36 +08:00
    既然是定期,时效性要求就不会高吧,可以写个脚本导数据,定时执行即可。
        3
    enginex   2017-10-23 21:42:51 +08:00
    @shiny 是用 linux crontab 脚本吗?另外,两个 table 字段不同,也可以吗
        4
    shiny   2017-10-23 21:45:27 +08:00
    @enginex 都可以,windows 下的计划任务,Linux 下的 crontab。只要脚本写对了,字段不同也没问题。需要注意的是出错能被监控到。
        5
    enginex   2017-10-23 21:50:04 +08:00
    @shiny 好的,我试试
        6
    dexterzzz   2017-10-23 22:02:53 +08:00
    有 sql server 用 SSIS
        7
    enginex   2017-10-23 22:12:20 +08:00
    @dexterzzz 是用 SSIS 可以抓取 MySQL 数据?字段不同也可以吗?
        8
    DearMark   2017-10-23 22:46:19 +08:00
    Topshelf 搭配 Quartz.Net 可以解决所有问题 On Windows
    https://dotblogs.com.tw/wasichris/2017/01/14/165637
        9
    XiaoFaye   2017-10-24 07:40:46 +08:00
    变动不频繁的话,自己写 SQL Script,然后定时执行就好了。
        10
    enginex   2017-10-24 09:41:08 +08:00
    @DearMark 似乎有些复杂,而且主机是 linux,不过依然感谢
        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
        14
    enginex   2017-10-24 10:59:49 +08:00
    @likuku 只用过 php 操作 mysql,基础的增删改查,数据重组拼接这块儿不太熟悉
        15
    enginex   2017-10-24 11:00:54 +08:00
    @nandaye @sunkuku 感谢,目前在尝试 SSMA,不行的话再换其他
        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 工具
        19
    enginex   2017-10-24 12:30:19 +08:00
    @likuku 好的,我试试,感谢
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1639 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 16:41 · PVG 00:41 · LAX 08:41 · JFK 11:41
    ♥ Do have faith in what you're doing.