回复人:3nt(3nt) (2001-6-29 15:36:44) 得0分
远程数据传输始终是一个棘手的问题,所以才会有那么多不同的解决方案和产品,比如各数据库厂商的Replication、Mail Replication,各种Message Queue。到底采用那种方法要根据自己的实际情况灵活使用,尽量利用已有的方法和产品。
ftp也是一种可行的方法,但要求有专人管理,对用户的要求较高,也不太适合于大批量数据的处理。 我很同意3nt的说法
远程数据传输始终是一个棘手的问题,所以才会有那么多不同的解决方案和产品,比如各数据库厂商的Replication、Mail Replication,各种Message Queue。到底采用那种方法要根据自己的实际情况灵活使用,尽量利用已有的方法和产品。
ftp也是一种可行的方法,但要求有专人管理,对用户的要求较高,也不太适合于大批量数据的处理。 我很同意3nt的说法
你的想法很好,这就是所谓的“基于消息的复制”(Message-based replication)。实现起来还是很复杂的,要考虑的东西很多,比如数据的双向同步,目前也已经有现成的产品了,比如sybase。
我想如果利用现有的可订制的邮件系统比如 exchange,做一个异种数据库的复制代理或许会很有钱途吧。
我想QQ的做法足够了,做成TCP实达的客户端这是这么做的,
服务器和客户端的数据类型保持一致
进行一定的规划和基础数据的统一工作,发一个报文就可以了
主要是服务那边,
收到报文后的处理
是个技术难点,
主要是看报文的复杂度
可以用ClienDataSet.LoadForm和SaveToFile
但是要注意SQL语句,尽量减少网络的rote
业务人员用笔记本每天录入业务数据 到access库中,当他要上传数据的时候就将当天记录在
access中的数据读出,写入远程的数据库中。
*************************
我们每天都在进步!
愿与大家交流。
[email protected]
但是我时间有限,恐怕做不成,再说我的水平似乎也达不到:(
一 综合成本最少
二 技术实现比较简单,系统运行也非常稳定
三 像在国外,这种程度一般也用Email 实现。
dephi 中有 nmpop nmsmtp 控件,功能非常强大,简单有好用。
略微麻烦的是将相应信息的识别和分解!
我 作过像你这样的软件,用 email实现
在调用initialization 时 总是说在初始化sql active 之前 要先设置发布服务器属性但是我在程序里设置了 publisher属性了:(
对于从上向下分发也是一样的,把从上向下分发的数据读出存入access中,当然要标明这些是从上向下分发的数据。
我不知道你是怎么弄的,所以无法准确回答。
1.首先建立publisher和subscriber,手动同步一次。如果客户端不是域用户(远程用户一般都是这样)快照文件要拷贝(可以ftp)到本地同时设置subscriber指定快照的路径,
2.启动sqldistribution 和 sqlmerge之前要先分别指定publisher和subscriber的服务器名、登录方式、登录名、发布数据库名、订阅数据库名、订阅方式(pull或push)。看看我贴的程序的form_load事件。
又,考虑到安全性publisher应当不允许匿名订阅。
用你的方法,如果是一对多的发布,标识发布状态(哪些发了、哪些没发)相当麻烦,尤其是客户端有可能临时增加或者取消、还要处理各种异常。要做一个通用的程序,乐观的估计要3人年。
1、传送用ZIP打包,服务器端还要校验,保证其完整性。才可更新自身数据。
2、ACCESS等数据库都留有编程接口,可在程序是进行。
3、在客户端提示更新进度及成功提示;在服务器端提示各客户更新日期,数据的操作
你的方法全是自动的 不需要人的干预吗?你的想法在实际中做过吗? 效果如何 ?
你做的软件中,用email实现,包括数据的向上合并,和从中心向下分发吗?
原因很多,你这样发问没法回答。出错提示是什么?
我觉得这是一个典型的C-S应用。
我想可以通过winsock(udp)向每一个客户端广播命令,客户端判断命令内容,
如果时下载命令就主动连接服务器取得数据。
还请大家多交流以后这个问题解决了 我一定开放所有的方案 :)