以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]双网连接,动态切换连接数据源参数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7435)

--  作者:ddlzq
--  发布时间:2010/6/22 11:37:00
--  [求助]双网连接,动态切换连接数据源参数

各位老师:

我有两个网段的用户,是否可以通过设置好两个数据源名称后,在BeforeConnectOuterDataSource时,ping通了某个IP后,就使用该IP的数据源。

下面是我测试了一些,都不好用...最早时,只是ping,提示了判断了是内网还是外网,但还是提示数据源问题,于是就需要指定数据源。后来想加判断ping通一个IP后就连接一个源,结果给项目弄死鸟...

If Network.Ping("192.168.0.222")
 Messagebox.Show("您目前使用的是内网版")
\'ChangeConnection("foxnei")
\'Dim cn As Connection
\'cn =  Connections("foxnei")
\'e.CPWD=sa Initial Catalog=FoxUserData""
Else If Network.Ping("192.168.80.222")
Messagebox.Show("您目前使用的是外网版")
\'ChangeConnection("fox")
\'Dim cn As Connection
\'cn =  Connections("fox")
\'e.CPWD=sa Initial Catalog=FoxUserData""

Else
Messagebox.Show("目前服务器无法连接,请联系管理员处理此问题,谢谢合作.")
End If

[此贴子已经被作者于2010-6-22 15:35:06编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/6/22 11:37:00
--  

不好用是啥意思?


--  作者:ddlzq
--  发布时间:2010/6/22 13:01:00
--  
就是吧,没办法通过判断IP地址来切换数据源,总是提示错误,多亏备了一份项目,刚才还没办法打开项目了,还提示错误 ...5555
--  作者:狐狸爸爸
--  发布时间:2010/6/22 13:04:00
--  
灾难恢复的办法你忘记了?
--  作者:ddlzq
--  发布时间:2010/6/22 13:57:00
--  

对哦,可以按  Ctrl来灾难恢复,看来是今天睡早了,还迷迷糊糊的

请问狐爸,可不可以通过IP哪个通就用哪个数据源?


--  作者:狐狸爸爸
--  发布时间:2010/6/22 15:16:00
--  
可以的
--  作者:ddlzq
--  发布时间:2010/6/22 15:33:00
--  

使用ctrl后还会出现这个错误 ,然后就退出项目了,有登录窗口,选开发者后继续按了Ctrl,还是这样...

 

请问狐爸,是不是我想的 ,在BeforeConnectOuterDataSource连接外部源时,开始ping,当通了后,连接一个源名?我在主楼的代码哪个能达到呢?还是都达不到?还是我的思路错了。。。我也删除了catch目录,试过也这样...


图片点击可在新窗口打开查看此主题相关图片如下:错误.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-6-22 15:39:24编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/6/22 15:43:00
--  

出现这个错误,说明数据源正常得很,出错的原因看看这段:

 

重要提示:

如果子表要引用父表的数据,那么对于父表的关联列,应该在列属性设置中,将其属性“禁止重复”设为True,也就是禁止在父表关联列输入重复内容。因为此时父表和子表之间就必须是严格的一对多关系,理由很明显,如果不是一对多的关系,而是多对多的关系,子表在引用数据的时候,就不知道该引用父表中哪一条记录的数据了,从而出现错误提示。

 

现在的问题是你已经有这个错误了,先用另一个数据源进去 ,删除有关的表达式,然后重新打开项目,使用有错的数据源。

[此贴子已经被作者于2010-6-22 15:44:00编辑过]

--  作者:ddlzq
--  发布时间:2010/6/26 9:08:00
--  
请问狐爸能不能指点一下能根据识别IP地址动态选择数据源的代码?图片点击可在新窗口打开查看
--  作者:狐狸爸爸
--  发布时间:2010/6/26 9:09:00
--  

你的错误和代码无关,是8楼的原因造成的。

 

你可以新建一个项目,连接此数据源,加载检测可能有问题的表,排除父表关联列有重复值的行,foxtable有重复值筛选,解决此类问题不难。

[此贴子已经被作者于2010-6-26 9:10:24编辑过]