数据同步是分布式系统常常需要考虑的问题,即把分散的数据收集在一起,进行汇总统计。目前主流数据库主要有两个: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。