求救大神:客户端用Mysql,服务器用Oracle,如何做到数据同步

TMajier 2011-08-03 11:15:13
目前做一项目主要以C/S实现,要求所有功能都能单机操作。
用户本地使用Mysql数据库,服务器端使用Oracle数据库。
用户Mysql数据库中,一部分是只需存在本地的,一部分数据是需要上传至服务器Oracle数据库。

例如课后交流(类似于论坛),要求用户能够离线查看,离线回复!
目前试过的都被毙掉的方案:
1.利用WebBrowser嵌入网页。毙掉理由:用户断网后网页打不开
2.利用Webservices读取服务器端数据,用winform布局。毙掉原因:同1。
3.在登录时进行数据更新,试了一次,登录过慢,数据冲突等都未处理,毙掉。

目前想试试在程序中另开一个线程,专门用于服务器Oracle与本地Mysql数据库的同步更新,牵扯到数据更新的冲突,不知道用什么方法解决好?期待大神给个思路...

smart client可以实现离线操作,不知道适不适合本系统。

要求是BOSS定的(需求没法改的)!
...全文
253 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
DVBMAN88 2011-08-05
  • 打赏
  • 举报
回复
用程序去读mysql数据,在用程序添加oracle。
TMajier 2011-08-05
  • 打赏
  • 举报
回复
顶一下
TMajier 2011-08-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fyswords 的回复:]

用户在不联网的时候可以删改?不同用户同一时间段修改了同一数据怎么办?
[/Quote]
这是个问题,所以每个用户更新下来的是与他有关的数据,他所能操作的网络数据必须是他自己上传的。当然如果同一个用户在一台不联网的电脑A操作一条数据后,又在另一台不联网的电脑B操作同一条数据,就会产生冲突...

我现在在客户端创建windows服务,在服务器部署webservices。windows服务专门用来更新上传数据,用户开机后自动启动,每隔几分钟访问一次本地数据库,通过webservices访问一次远程数据库,如果有更新或者上传信息,则通过服务进行本地上传与远程更新。数据更新与客户端主程序的运行分开...
不知道这样的思路对不对?
TMajier 2011-08-03
  • 打赏
  • 举报
回复
WCF可以用吗?不太了解!
TMajier 2011-08-03
  • 打赏
  • 举报
回复
补充:
一个Oracle服务器(网络数据),多个Mysql数据库(本地数据和与自己相关的网络数据)。
要求网络数据同步。
fihuang 2011-08-03
  • 打赏
  • 举报
回复
如果说简单的把数据从客户端上传到服务器端并且客户端可以直接访问服务器端得oracle 后台开个线程就能完成 不需要什么嵌入页面或是webservice
fyswords 2011-08-03
  • 打赏
  • 举报
回复
用户在不联网的时候可以删改?不同用户同一时间段修改了同一数据怎么办?
jdq819 2011-08-03
  • 打赏
  • 举报
回复
用程序去读mysql数据,在用程序添加oracle。
我们就这样搞的
taolinsen 2011-08-03
  • 打赏
  • 举报
回复
写一后台方法,部署在服务器上,客户端通过WebService或者其它什么方式远程调用方法,让服务器上的后台服务去对数据库进行操作。
TMajier 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fihuang 的回复:]

如果说简单的把数据从客户端上传到服务器端并且客户端可以直接访问服务器端得oracle 后台开个线程就能完成 不需要什么嵌入页面或是webservice
[/Quote]
客户端不能直接访问服务器数据库,而且要求客户端在不连接服务器的时候也能对数据进行增删改查,在联网后将所做的更改同步至服务器。
客户A断网发贴一,贴一存至本地数据库,联网后贴一自动上传至服务器Oracle数据库,客户B打开系统并联网后,从服务器数据库更新贴一至本地数据库,从而进行查看和回复。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧