数据同步是分布式系统常常需要考虑的问题,即把分散的数据收集在一起,进行汇总统计。目前主流数据库主要有两个:SQL Server和Oracle。对于Oracle数据库,有着比较成熟的同步技术,但SQL数据库则没有太好的解决方案,虽然已经有公司研发了同步程序,但是价格过于昂贵。
同时,数据库同步技术是一种常用技术,因此有必要开发出一套独立的数据库同步系统,避免重复劳动。特进行“SQL Server数据库同步系统”开发。
客户端和服务器端:
客户端使用说明:
本系统分为客户端和服务器两个部分,其中客户端承担了系统绝大数事务,服务器只是简单的执行客户端传送的命令,属于典型的C/S胖客户端瘦服务器模式。这样设计的目的是为了减轻服务器的压力,让系统更加流畅。
客户端负责采集分布数据库中的数据,然后汇总到服务器。客户端需要配置的数据库连接字符串是指分布数据库的连接字符串,连接成功后才可以向主数据库同步数据。例如,有A、B、C三个分布数据库,需要把数据汇总到D数据库,那么需要三个客户端,分别连接A、B、C数据库,客户端运行在哪无所谓,只要能连接数据库即可。
服务器使用说明:
服务器功能比较简单,负责收集客户端发送过来的同步数据,然后添加到主数据库中,只需设置主数据库的连接字符串即可,成功连接后服务器启动。服务器会自动保存成功连接的主数据库连接字符串。服务器对同步不做任何记录。
使用说明 
设置好数据库连接字符串后,点击启动服务,如果连接成功,服务自动启动。
同时,界面上显示正在同步的客户端数量,正在同步客户端数量不为0时,无法关闭服务器,如果强行关闭,造成的一切后果自行负责。
补充说明
理论上应该先启动服务器,再启动客户端。
程序使用注意事项:
1.必须确保您的数据库没有修改主键的操作。由于修改主键会引起很多问题,如果一定要修改主键,建议把修改拆分成删除→添加。
2.必须确保您的数据库没有使用自增长的字段,因为自增长字段本程序无法干涉。
3.支持所有SQL数据类型(除SQL2008新增的geography、geometry、hierarchyid)。
4.数据库连接字符串一旦成功设置,不能更改!如需更改,需要重新安装程序。
运行环境:
程序采用.NET 4.0开发,因此只能运行于Windows操作系统,同时需要.NET Framwork 4.0的支持。
程序中使用了SQLite本地数据库系统,但已经自行支持,无需安装其他组件。
程序针对SQL Server数据库开发,因此只支持SQL Server数据库,目前已知支持SQL Server 2003、SQL Server 2005、SQL Server 2008。
 
 
         JetBrains DataGrip  绿色版 v1.0
                                        JetBrains DataGrip  绿色版 v1.0
                                     phpMyAdmin  最新中文版 v5.2.2
                                        phpMyAdmin  最新中文版 v5.2.2
                                     Navicat Premium简体中文版  v16.2.0
                                        Navicat Premium简体中文版  v16.2.0
                                     SQL Server2000  简体中文
                                        SQL Server2000  简体中文
                                     SQLite Expert Professional(SQLite管理工具)  免费版 v5.4.34
                                        SQLite Expert Professional(SQLite管理工具)  免费版 v5.4.34
                                     Navicat for Oracle  官方版 v15.0.26.0
                                        Navicat for Oracle  官方版 v15.0.26.0
                                     
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
     
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                 
                                 
                                 
                                 
                                 
                                 
                                