C# 怎样开发数据库离线应用?当可以连接服务端DB时,将本地DB同步到服务端DB?现在有个项目,用C/S架构开发,进行一个操作时,要与服务器DB进行交互。
假定服务端IP:192.168.1.100    
本地IP:      192.168.1.2在服务端和本地都有数据库。 1》当与服务端的连接正常时,进行服务端DB的互动。
2》当与服务端的连接不正常时,则与本地DB互动,待再次与服务端连接上的时候,当本地DB同步给服务端DB。
从而达到离线应用的目的。
这样该怎样实现呢? 要写一个线程吗?

解决方案 »

  1.   

    给你说个很笨的办法,
    首先要保证两个库,数据库结构一样!
    在本机数据库上新建一张表,比如sql_commond  如果远端数据没有连接上,则在本地操作的时候将你要操作的表的sql语句存储在这张表中,等到服务器数据库连接上时,在将sql_commond表中的sql语句在服务器数据库上执行一下,并且将sql_commond中的数据清空,(务必要按顺序)
    同样 你在操作服务器库的时候也要将数据写到本地库中
      

  2.   

    http://www.cnblogs.com/jasonwei/articles/1228542.html[/url]还有一种采用Socket的方式,就是两张表,做一个采集服务器,在每个客户端运行,当客户端检测到数据库表有新数据时则下载到本地, 客户端从本地检索数据,
    (后者比较复杂,我见过我们经理实现过,而且在用),仅供参考思路
      

  3.   

    这个如果是使用SQLServer数据库的话应该比较好解决,直接使用SQLServer的发布和订阅来实现数据的同步。