CS程序本地数据库问题
各位大牛,我请教个问题。
有一个CS程序:
1..net4.0+sqlserver2008
2.程序可以直接访问服务器(如192.168.1.101\sql2008)数据库
3.程序也可以单独访问本地数据库.
4.用户可手动同步服务器数据和本地数据
注:在客户端不需要安装sqlserver。
如下图:
我的问题:
1:本地数据库和服务器数据库如何部署,采用什么方式,如何同步?
2:需要注意些什么?。
3:有何好的建议/参考。
------解决方案--------------------每个客户端要记录一个独一ID,再上传增量数据(比如某日期之后的数据)到服务器
------解决方案----------------------本地数据库用的是什么?
--是双向同步,还是单向?
--楼主最好说一下这么做的原因
------解决方案--------------------C/S参考如下:
--#1.本地不能安装sqlserver,如果人手工记录数据就用EXCEL,如果用程序记录数据,就用ACCESS。
--#2.在客户端程序上加个功能:导入当天数据。手动在有网络时把当天的数据(EXCEL或ACCESS)导入到数据库服务器。并作日志记录。
--#3.需要注意的地方:每条记录(access),建议都有一个唯一的GUID字段,这样,同步后,绝对不会乱。ACCESS生成GUID的方法参考:http://blog.csdn.net/johnsuna/article/details/2322001
------解决方案--------------------以前我公司也处理过这种程序,分享我们的解决方案:
1. 公司有一个总部,可以看到所有分店的数据,而分店不需要看到总部数据,因此客户端用Access小型数据库,总部用sql server数据库,这样做的好处是本地不需要连接网络,而且运行速度快.
2. 数据同步问题:服务器对数据同步不需要做任何操作,只需要保持服务器开机就可以了.客户端需要做上传数据和下载数据的功能.
这样做上传或下载中途失败了,可以下次再上传或下载,这个操作需要手工操作,一般最多几分钟.
3. 解决订单重码问题 ,所有分店的订单编号等编码都不一样,也就是保持唯一性.什么做呢? 就是每个店的开头几个字母做订单的开头编号,这样可以保证整个系统订单号不重复.
4. 部署问题,每个分店单独部署,仅供局域网内使用.
------解决方案--------------------
#1.ACCESS的SQL语法大体相同,少些函数,但一般都可以变通实现。只要你的查询不是很复杂的,这两个移植性算是比较好的了。
#2.可以不安装OFFICE中的ACCESS。但必须安装可以访问ACCESS的引擎(ODBC,ADO),好多年不用ACCESS了,自己上网找个安装吧。
介绍个ACCESS网站,非常好:http://access911.net/index.asp
------解决方案--------------------先尝试去做吧,同到问题再回到这里,把问题说出来给大家分析