回 帖 发 新 帖 刷新版面

主题:[讨论]单机程序如何升级到客户/服务器程序?

我已有一个单机程序,里面有数据库表也有自由表。现在想实现多机操作功能,不知该做哪些处理?希有经验的前辈们告之。谢谢!

回复列表 (共53个回复)

51 楼

很想知道如何解决VFP+SQL共享冲突的问题

52 楼

[quote]我来从ABC开始说起起吧...因为我有同样的经历..(曾经成功用VFP开发过80个网络工作站的商业运用系统)...

A:指定一台电脑SERVER做文件服务器,设定一盘符下的目录存放“数据库表”和“自由表”。并设成共享。
  (例如:D:\USER\USER\  下面的文件为 *.DBF *.CDX *.DBC 等等) 
B:另外几台USER1、USER2、USER3、USERx...电脑为工作站,并影射同盘符一路径到文件服务器的共享。
    (例如:F:---->  \\SERVER\USER 这样 USER1...x的F:盘就是F:\USER\ 下面的文件为 *.DBF *.CDX *.DBC 等等) 
C:将单机版程序中所有和数据库相关的路径都批量改为网络路径。
  (例如:F:\USER\)
D:如对库没有“追加”“修改”“物理删除”等操作的可修改设为“共享”打开即可,否则操作前必须增加锁库处理程序,或要设为“独占”打开。对记录“修改”的可只锁记录。
E:对多个工作站同时突发修改同一条记录时,由于“数据库表”和“自由表”不同于SQL,没有突发请求修改的自动缓冲列队存储功能,所以你只能设时间周期循环锁定记录才能实现“修改”等操作。
F:所有对库和记录的操作必须设定“状态”返回码以校验操作是否成功,处理好数据的一致性。并给或者告知用户相应的处理提示!
  如果你做到以上几点,那么恭喜你的单机版软件就已升级为网络版了。。。(另外你还没有用到SQL数据库 所以没有楼上那些说的那么难。。只要你去多试。。。)。。。你如要做得更好。。那你就和我交个朋友吧!。。。。
[/quote]
这个方法大约差不多了,本人虽然没有做过这样的程序,但是见过一个录取程序是这样工作的。不过,真正要做好,还是得使用C/S方式,所以数据库得用SQL SERVER之类的,而客户端只能说勉强可以使用VFP,最好使用其他工具开发(不过在这说这个可能得被骂吧)。

53 楼


单机用和网络用的区别,其实简单:
1,表单的DATASESSION选项须由默认改为私有
2,须有ON ERROR处理程序,以防止数据冲突
3,有一个服务器,执行表单的路径\\服务器主机名\文件夹\文件名.scx
4,安全起见,须在服务器设置某些文件的使用权限,如只读,可写入,禁止删除等

我来回复

您尚未登录,请登录后再回复。点此登录或注册