VFP下客户机访问任意映射服务器的方法

VFP下客户机访问任意映射服务器的方法,第1张

VFP下客户机访问任意映射服务器的方法,第2张

在开发网络多用户应用系统时,VFP程序员经常采用以下方法:把一个或多个数据库(。DBC和。DBF)作为共享资源放在NOVELL、WIN-NT的一台或多台服务器上(或设置在WIN9X对等网络上),并将应用程序和临时文件放在本地客户机的WIN9X环境下。在客户端开发时,将这些服务器的本地访问符映射到指定的F:。最后,它被编译成一个。EXE文件来生成安装系统并将其安装在每个客户端上。

-在实际应用中,由于局域网中每个客户端的盘符数量,指定的一个或多个服务映射的盘符在开发机上可能不是F:(H:)。这时,麻烦来了。程序一启动,屏幕就提示“'定位数据库'-'初始化临时表对象时出错。找不到F: …???。DBC .如果整个应用软件有。DBC图书馆的表,各种自由表和许多表格,用户根本不可能找到数据库或自由表。

——作者就是这样解决这个问题的(大致方法如下):

-1.创建一个包含文件:比如info.h

# include DBC name 1 _ loc dr v1 _ loc+' \ citic mis 1 . DBC '

;服务器1上的库1

# include DBC name 2 _ loc drv 2 _ loc+' \ citic mis 2 . DBC ';

服务器2上的库2

# include DBCusrinf _ loc dr v1 _ loc+' \ citic mis 1!' usrinf.dbf '

;图书馆中的1张桌子

# include DBC EMP _ loc drv 2 _ loc+' \ citic mis 2!EMP . DBF ';

图书馆2中的表格

# include dbcjgbh _ loc dr v1 _ loc+' \ RSC \ jgbh . DBF ';

图书馆或免费桌子

-2.在应用程序系统的目录中创建一个文本文件,例如。\bmp\serdrv.txt,里面有两行文字。

f:\ ACC;客户端到第一个服务器的映射字母

h:\ ACC;客户端到第二服务器的映射字母

-3.在软件的主程序中建立全局变量drv1_loc,drv2_loc。刚开始的时候用低级的文件操作命令fopen,fget等。要读取serdev.txt中的两行f:\acc,h:\acc,分别赋给drv1_loc,drv2_loc。

-4.应用软件中的表单或其他程序都包含info.h文件。

-4.1对于免费桌子:

-可以在表单的LOAD事件中使用0alia jgbhshar中的use (dbcjgbh _ loc)打开表,在UNLOAD事件中使用jgbh中的use关闭表。

-4.2对于数据库的表格:

-可以在表单设计时打开数据环境中的表(比如usrinf.dbf,emp.dbf),在这个数据环境中的Dataenvironmnet.cursor?的。database属性自动设置为其所在服务器的数据库,如本例中的f: \ ACC \ citicmis1.dbc,h: \ ACC \ citicmis2.dbc。

-此时,您可以在Dataenvironmnet对象的BeforeOpenTables方法中编写以下代码:

-这个。Cursor1.database=DBCNAME1_LOC

-this . cursor 2 . database = dbcname 2 _ loc可以解决问题。

-那个。通过上述方法生成的EXE系统,被安装在各个客户端上后,只要。\bmp\serdrv.txt修改为实际指向服务器盘符!用这种方法开发的系统已经在作者系统的各个单元运行在WIN9X vs WIN9X,WIN9X vs NOVELL server,VFP6.0的环境下!

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VFP下客户机访问任意映射服务器的方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情