回 帖 发 新 帖 刷新版面

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

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

回复列表 (共53个回复)

31 楼

局域网上使用VFP是自动适应多用户环境的,你可以把整套程序与数据放上共享目录(或称文件服务器目录),只要在主程序加上有关默认目录的语句,set defa to XXXXXX(共享的工作目录),还可以编写on error出错处理程序,主要是解决记录写冲突的处理,不过,事实上那个出错处理程序不编写也不碍事。

32 楼

网络共享完全可以,但要注意并解决共享冲突问题,这比较困难,不好处理。
不象SQL SERVER好操作,甚至还不如ACCESS。注意的语句有:
begin transaction 启动一个事务处理
create sql view 建立SQL视图
END TRANSACTION 结束当前事务
ROLLBACK 取消当前事务期间所作的修改
UNLOCK (1)对一个表中的单条记录、多条记录或者文件解锁,或者对所有打开的表解除所有记录锁和文件锁(2)LOCK加锁命令,使当前用户处于独占状态,以免发生共享冲突。等等。

33 楼

最近我看了<SQL Server 2005 数据库应用系统开发技术>一书。知道了SQL Server确实有许多保证数据安全和完整性的方法,比单用Vfp开发网络共享程序更容易解决这些问题。但我同时觉得,c/s系统要同时涉及客户机与服务器的处理,而且需要<SQL Server>。对客户来说,F/S系统更易安装和使用(只需在一台被称为服务器的机器上安装开发者分发的软件,并将相关目录设为共享。),在不需要大量多个用户的写操作时,F/S(文件共享)不失为小范围内多用户操作的好方案。

34 楼

我目前也做了一个单机版本更新到多用户情况的程序,有2中方法可供我们选择:
1.使用SQL数据库,这个比较理想,在用户比较多,数据安全要求高的情况下用到。
缺点:需要服务器,而且需升级数据库到SQL。
实现方法:远程视图,SPT,CA等。
2.把数据库放到局域网一台计算机上,并共享。并做为“服务器”。设置程序的时候设置一个全局变量比如pathf为数据库路径。数据库路径可以放到一个数据库或者一个配置文件里面,每次进入程序的时候读取。同时程序内可设置pathf,这样保证数据库无论在什么地方,改下pathf就可以。在数据安全要求不高,用户较少下用到。
实现方法:利用shared打开数据表,实现多用户共享数据。在需要更新的时候先锁定,更新后解锁。delete后pack等需要独占的操作,可以在退出程序时尝试独占打开pack,定期维护数据库(备份数据,pack数据表等)。

35 楼

上面提到远程视图,但我了解到还有一种方法比它更适合这个环境。SQL pass-through技术,它功能丰富,且使用灵活,不妨试一下。

36 楼

用SQL-SERVER ODBC
这样以后升级更简单

37 楼

不是那么简单的,看看VFP多用户或C/S结构软件开发吧,简单的多用户需要共享打开表
和数据库,加锁解锁,以及缓冲技术、事务处理等,高效率的网络版软件要借助SQL SEVER 等数据库服务器软件

38 楼

set path to \\主机\

39 楼

我也是使用网络共享的功能,但常会有资料冲突的问题及出现 『内存不能只读』的讯息后跳出系统, 不知有什幺方法可以解决, 请问升级 vfp9.0 可以改善吗?

40 楼


讨论已经有二年了,可惜都是蜻蜓点水,不懂的还是不懂,有谁能从ABC开始说起。。。。。。

我来回复

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