日期:2014-05-18  浏览次数:20735 次

CS访问远程访问数据之解决方案
描述:
  1.远程服务器上有数据库DB,有表TABLE1,TABLE2......TABLEn,Table1...Tablen之间数据库表有关联
  2.现需要在客户端实现:
  -客户端数据可以上传到远程数据库各个表
  -客户端可以下载远程数据库上各个表的数据
  3.当远程服务器上数据库表中有数据变化时,可以通知客户端让其知道.
  4.当客户端上传或下载时,如果发现处理不成功记录可以通知客户端.
  5.访问服务器的客户端可能是1,2,3....n个客户端.

请大家提建议,有奖励.
 

------解决方案--------------------
wcf
.net remoting
------解决方案--------------------
补充:
WebServices
------解决方案--------------------
remoting

------解决方案--------------------
1. 客户端直接操作数据库 webservice, remoting;(小数据量)
2. 客户端输出先用文件上传,由服务器端加载(大数据量)

服务器端变化感觉还是客户端查询好
------解决方案--------------------
webservice, remoting
------解决方案--------------------
探讨
补充:
WebServices

------解决方案--------------------
WebServices的强大。。。
------解决方案--------------------
数据库同步管理软件SwisSQL DBChangeManager就是用来解决楼主的这个问题的,只要客户端可以连接服务器的数据库就可以了。
------解决方案--------------------
如果是采用Observer的模式来做,webservice是做不到的。
因为web是没法通知到客户端有数据发生变化了。

这样只能是Remoting来实现。。 .net做起来就更简单了。本来实现Observer需要维护一个观察者的列表的,
在.net下你只要实现委托即可。每一个客户端连接上来的时候,将它的实例加入到委托中去。 当数据发生变化时,执行委托即可。

其实webservice来做,那其实是一种没有效率的实现,客户端要定时的询问是否有新的数据来更新,一个是性能问题,一个是及时响应性的问题。
但是最大的好处就是简单。

具体的采用那种方式来做,可能要看你实现的规模大小和响应性的要求来做。