以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]try的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69775) |
||||
-- 作者:chnfo -- 发布时间:2015/6/10 17:03:00 -- [求助]try的问题 共享数据库,用了一个服务端来启动程序,然后用客户端读取合法配置文件启动客户端。但有时会弹出窗口。提示正如代码中内容,有时是服务程序提示客户端正在读取配置文件,有时是客户端提示服务端正在更新配置文件。该如何修正程序?server中的serverip是共享数据库路径,启动服务端后,按配置文件按钮,覆盖client下的同名文件
|
||||
-- 作者:大红袍 -- 发布时间:2015/6/10 17:22:00 -- 测试了一下,没什么问题。
如果出现错误提示,可能是局域网不稳定,导致无法打开txt文件从而报错,你忽略它就行了。 |
||||
-- 作者:chnfo -- 发布时间:2015/6/10 17:26:00 -- 因为程序有点大,我舍去了很多内容。但我就在一台电脑上测试的,即服务端和客户端都在本机,不会存在网络问题哟。而且有时会弹出,甚至连着弹出几个,有时不会 |
||||
-- 作者:大红袍 -- 发布时间:2015/6/10 17:28:00 -- 测试多久会出问题? |
||||
-- 作者:chnfo -- 发布时间:2015/6/10 17:32:00 -- 好象随机的,有时一两个小时都不会,有时20分钟就有 |
||||
-- 作者:大红袍 -- 发布时间:2015/6/10 17:41:00 -- 测试了一下,打开了几个一起测试,是有这样的问题。多用户一起访问一个文件的时候,读取和写入同时进行的时候,就会有问题。
方法1:不理会,如果出错,也就是不成功,客户端不需要提示,服务器端的话,循环打开就好,只要打开一次成功,就结束代码。
方法2:用数据库代替txt的功能,数据库的共享性会更好一些。 |
||||
-- 作者:chnfo -- 发布时间:2015/6/10 18:35:00 -- 袍兄意思是把这个服务端动态定时产生的配置文件放到共享数据库中? |
||||
-- 作者:大红袍 -- 发布时间:2015/6/10 19:27:00 -- 以下是引用chnfo在2015/6/10 18:35:00的发言:
袍兄意思是把这个服务端动态定时产生的配置文件放到共享数据库中?
方法2:意思是,把内容存入数据库,然后,各个客户端直接用sqlfind或者sqlgetvalue取值即可。 |
||||
-- 作者:chnfo -- 发布时间:2015/6/10 20:49:00 -- 我也是此意 |
||||
-- 作者:chnfo -- 发布时间:2015/6/11 0:15:00 -- 方法2:用数据库代替txt的功能,数据库的共享性会更好一些 我在共享数据库中增加了一个表X,做了一列A,专门用来存放配置文件的内容。然后在服务端程序里增加外部表X。 新的问题: 1、服务端有可能要修改共享数据库的路径。我想有两种办法,一是在服务端做一个配置文件,里面写共享数据库的路径,然后在BeforeConnectOuterDataSource事件中,替换原来的路径;二是在启动服务的界面上,做一个textbox,让用户填写之后,再更新外部数据源的连接。 如果采用第一种方法,就可以直接替换 如果用第二种方法,是不是就有点问题了?------因为外部数据源的连接可能是不存在的(如果用户修改了数据库路径的话)。如果把服务启动窗口放在afteropenproject事件中,这时候表已经生成(而实际上这时候X表是不能生成的) 我是想让用户直接在启动服务端界面上直接修改共享数据库的路径,然后启动程序后,在外部表X的A列存放配置文件的内容。
|