可以考虑用MSSQL的复制工具,设为提取方式 同步,即自动从MYSQL端提数据过来同步..

解决方案 »

  1.   

    复制工具是SQL Server自带的工具,非第三方.参考 http://www.databasejournal.com/features/mssql/article.php/1438201/Setting-Up-Transactional-Replication-A-Step-by-step-Guide.htm
      

  2.   

    刚刚尝试linkdb的table创建了一个view,然后又创建了一个view的trigger
    有以下两个结论
    1.更新linkdb上面的table时,不会触发trigger
    2.直接修改view,可以触发trigger,但是不会把数据同步到view对应的table里
      

  3.   

    你好,刚刚看了一下,这样的工具是不是对db结构有要求啊,比如publisher和subscriber两边的数据库表结构要一样之类的。
    好像并不适合,我们这边可能需要一些逻辑来控制数据,然后插入
      

  4.   

    另外,现在这个具体情况,MySQL数据库是由一个系统(A)来控制的,SQLServer是另外一个系统(B),
    想达到一个这样的目的,系统A的操作,使MySQL数据变化后,通过某种方式,直接影响到SQLServer这边,而且最好是即时的
      

  5.   

    或者用触发器+dblink解决.
    1.在MYSQL端建dblink连接到SQL Server.
    2.在MYSQL端的数据表上建触发器,当有更新时,自动同步更新SQL Server端的表.
      

  6.   


    1.在MYSQL端建dblink连接到SQL Server.
    这一点我也想到过,不过mysql有类似于SQLServer的db link吗?请赐教
      

  7.   

    没baidu到这样的方法,我想应该可行的.如果需同步的表数据量不大,可以在SQL Server端建link server连接MYSQL,然后每次同步都全表拿过来,然后比对更新目标表.
      

  8.   

    这样做的话输入主动去同步,还是要去触发的。
    最好能够做到被动,也就是MySQL发送消息同步SQLServer我也baidu了依稀,MySQL倒是有一个federated的存储引擎,不过貌似只支持MySQL对MySQL的,哎
      

  9.   

    不懂MYSQL,建议LZ转MYSQL版提问比较好喔.
      

  10.   

    好的,谢谢你的帮助了~另外再问你一个问题吧
    根据A表创建了一个B视图,根据B视图又创建了一个C触发器,如果A表发生变动,C触发器会触发吗?查了一些资料,说触发器的触发是由事件所引起的,如果我对A表更新,那么事件本身是发生在A表上的,理论上C触发器不会被触发,是这样的吧?
      

  11.   

    不能沉啊,貌似之前移错板块了
    MySQL大侠来帮忙看看哟
      

  12.   

    自己写个程序,监控日志的变化,然后把日志中记录的SQL语句转换成T-SQL在SQL SERVER中同时执行一次。