to neteven:
我也是要应用到十几个分公司去,也是经常要碰到这个问题。但现在为了解决这个通用问题。有些分公司很远,总不成也要跑去,所以,包括服务器设置,连接设置,我都是在专门通过提供系统维护的功能能完成。我的方法是这样的。
在主程序中判断link表是否已存在,未存在建立它,并进入系统配置表单,包括服务器名,口令,登录名。都由用户自己配置。
等该表已存在后,用一个程序建立连接。
public jb
if !used("link")
use sjk\link.dbf in 0
endif
sqlstring="driver=sql server;server="+allt(link.servername)+";uid="
sqlstring=sqlstring+allt(link.uid)+";pwd="+allt(link.pwd)+";database=wxrs"
jb=sqlstringconnect(sqlstring)
sele link
use
if jb<0 or sqlexec(jb,"")<>1
messagebox("网络正忙或连接出错,请稍后再试!")
cancel
endif
然后应用程序中要向服务器取数据的地方,都调用该连接。服务器换了,删了这个表,可重新进行配置。
我也是要应用到十几个分公司去,也是经常要碰到这个问题。但现在为了解决这个通用问题。有些分公司很远,总不成也要跑去,所以,包括服务器设置,连接设置,我都是在专门通过提供系统维护的功能能完成。我的方法是这样的。
在主程序中判断link表是否已存在,未存在建立它,并进入系统配置表单,包括服务器名,口令,登录名。都由用户自己配置。
等该表已存在后,用一个程序建立连接。
public jb
if !used("link")
use sjk\link.dbf in 0
endif
sqlstring="driver=sql server;server="+allt(link.servername)+";uid="
sqlstring=sqlstring+allt(link.uid)+";pwd="+allt(link.pwd)+";database=wxrs"
jb=sqlstringconnect(sqlstring)
sele link
use
if jb<0 or sqlexec(jb,"")<>1
messagebox("网络正忙或连接出错,请稍后再试!")
cancel
endif
然后应用程序中要向服务器取数据的地方,都调用该连接。服务器换了,删了这个表,可重新进行配置。
你们的分公司是通过VPN联入的吧。
3.用VFP7的setup分发吧(可把odbc设置一起封装),VFP6的setup不行
刚才对我的环境参数库统计了一下,220个环境参数设置,就是适合不同需求的用户准备的所以建议大家:一定要版本唯一,不然,麻烦。
我的设想是将这个数据库及与sql的连接工作从原来的exe文件分离出来单独做一个
dll文件,因为这部分基本上固定不变,每个点一个dll,也就做一次而已.而其他与
应用规则相关的又易变动的部分做成一个统一的exe,可能也只能这样了.诸位可再就此议议,等我忙完这几天再结.诸位想过没有,未来你们准备用什么样的模式来开发
你们的应用(包括工具)?
vfp7+xml+sql server2000,实现真正意义上的N层
你们也没有做成功VFP的N层吗??