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数据库上了。现在这个任务还没有圆满结束,先发文总结一下这段时间做的事情。时间仓促,写的不太具体。任务完后会再详细描述。

  • 相关阅读:
    Java学习 · 初识 多线程
    Java学习 · 初识 IO流
    Java学习 · 初识 容器和数据结构
    Java学习 · 初识 异常机制
    Java学习 · 初识 面向对象深入二
    纯golang爬虫实战-(六)-关于cookiejar的理解 (2020-02-14 13:50)
    纯golang爬虫实战-(五)-登录并带cookie访问
    golang使用gopacket包进行数据包捕获实践(未成功)
    纯go+sqlite3+html/template网站(类似MVC实现数据库CURD、上传下载文件)-最少依赖才是硬道理
    纯golang+sqlite3 CRUD
  • 原文地址:https://www.cnblogs.com/lucky_hu/p/2182719.html
Copyright © 2011-2022 走看看