zoukankan      html  css  js  c++  java
  • 异构数据库同步问题

          这段时间一直忙于处理数据库同步的问题。由于公司新引进一个OA系统,旧的OA系统一时也不能淘汰,所以需要实现两台服务器的数据库同步。旧OA是基于.Net开发的,用的数据库是SqlServer,新OA是用PHP开发的,用的数据库是MySql。

    由于是第一次遇到这种问题,在网上搜索了一下,东西倒是挺多的,自己总结了大概有三种方案:

    1、用SqlSever2008(或Sqlserver2005)的SQL Server Business Intelligence Development Studio,在里面新建一个SSIS包等(参考资料:http://blog.csdn.net/zjcxc/article/details/1202876)。同时我还参阅了一些其他资料,通过在SqlServer2005的SQL Server Business Intelligence Development Studio中配置了,倒是可以实现数据库的复制,但要实现同步,这方面的资料自己没有找到,于是看了一本SqlServer2008英文电子书,里面有一些编写SSIS包的简单例子,不过要弄懂自己还欠火候。所以暂时没有采用这种方案。

    2、安装一个MySQL ODBC 驱动,我这里安装的是MySQL ODBC 5.1 Driver,在本地计算机上为MySQL建立一个ODBC系统数据源。并且要在SqlServer 2008数据库服务器上创建一个链接数据库

    ---1、在本地计算机上为MySQL建立一个ODBC系统数据源,选择数据库为TD_OA ,数据源名称为:eis
    ---2、创建链接数据库
    EXEC sp_addlinkedserver    
    @server='MySQLTest',   
    @srvproduct = 'MySQL',   
    @provider = 'MSDASQL',   
    @datasrc = 'eis',   
    @location = null,   
    @provstr = 'DRIVER={MySQL ODBC 5.1 Driver};Server=远程连接的MySQl数据库服务器;Database=数据库;User=用户名;Password=密码;',   
    @catalog = NULL
    ---测试实例 查询
    select * from  openquery(MySQLTest,'SELECT * FROM TD_OA.ZStudent')

    到这里让我看到了一写希望,在这里可以在SqlServer中用sql语句实现对远程的MySQL数据的操作了。我试了,可以实现插入。

    但是要满足双方服务器上的数据库能够同步,我打算写一个触发器实现,就像在在本机的Sqlserver服务器上实现对两个SQL数据库的同步一样(这个之前做了实验,编写的触发器能够顺利执行)。但是在这里编写好触发器之后,总是报一下错误:

    问了孟哥,弄了半天没解决。于是找到一个解决方案:http://www.cnblogs.com/chnking/archive/2007/04/04/699891.html

    按照解决方案中的说法,又配置了两台服务器的相关地方。忙了半天仍然为了解决,于是又放弃了这个同步方案。

     3、用PHP或者ASP编写脚本。参考资料:http://server.it168.com/server/2005-11-02/20051102005501.shtml

    其实自己也查过在ASP.NET中用C#来写一个访问的MySql数据库,但是感觉PHP实现要简单些。于是果断采用PHP编写脚本。

    现在终于可以实现从SqlServer 导入数据到MySql数据库上了。现在这个任务还没有圆满结束,先发文总结一下这段时间做的事情。时间仓促,写的不太具体。任务完后会再详细描述。

  • 相关阅读:
    vue 实战
    通信的三个核心问题
    中间件编程—面向通信的软件组件
    jsbridge与通信模型
    laravel5.6 调用第三方类库
    淘宝IP地址库API接口(PHP)通过ip获取地址信息
    这可能是目前最全的Redis高可用技术解决方案总结
    json_decode遇到的编码问题
    太平洋网络ip地址查询接口使用,返回json格式,默认返回jsonp
    分享几个IP获取地理位置的API接口(最全面的了)
  • 原文地址:https://www.cnblogs.com/lucky_hu/p/2182719.html
Copyright © 2011-2022 走看看