以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求老师指教!关于自动切换数据源的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99111)

--  作者:celchentao
--  发布时间:2017/4/12 21:49:00
--  求老师指教!关于自动切换数据源的问题
BeforeConnectOuterDataSource事件中代码如下:

If e.Name = "数据源1" Or e.Name = "数据源2" Then
    If TryConnectHost("mf") = False  Then
        e.ConnectionString = e.ConnectionString.Replace("mf", "93zkw.vicp.net,30610") 
    End If
End If

希望 用户在打开的时候判断是否是局域网 (局域网内连接的是“mf”)如果这个可以连接 则用mf连接数据源
 如果是在外网 mf  无法连接的话 则用"93zkw.vicp.net,30610" 这个链接数据源
 以上代码 现在是 局域网可以 正常链接   外网的话  则启动画面后闪退

跪求老师指教!

--  作者:有点色
--  发布时间:2017/4/12 21:58:00
--  

 和你代码无关吧?删掉代码,外网就能启动?

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=96796&replyID=667071&skin=1

 


--  作者:celchentao
--  发布时间:2017/4/12 22:01:00
--  
直接用外网的链接 不判断的话 是 可以正常启动 使用的
可以排除电脑问题

--  作者:celchentao
--  发布时间:2017/4/12 22:05:00
--  
这个项目 同一个服务器上有两个数据库 所以有两个数据源 
  
发布后的项目
局域网可以正常启动使用 
外网数据源改成外网的 也可以正常启动使用
 
BeforeConnectOuterDataSource事件中代码如下:

If e.Name = "数据源1" Or e.Name = "数据源2" Then
    If TryConnectHost("mf") = False  Then
        e.ConnectionString = e.ConnectionString.Replace("mf", "93zkw.vicp.net,30610") 
    End If
End If
加上这个代码判断后   在局域网可以使用   在外网就会闪退
急求老师指点  排除电脑问题

--  作者:有点色
--  发布时间:2017/4/12 22:13:00
--  

改成这样测试

 

If e.Name = "数据源1" Or e.Name = "数据源2" Then
    msgbox(222)
    e.ConnectionString = e.ConnectionString.Replace("mf", "93zkw.vicp.net,30610") 
End If

--  作者:celchentao
--  发布时间:2017/4/13 0:06:00
--  
这样的话 就没有判断是内网还是 外网了  就直接 用外网的链接了
--  作者:有点色
--  发布时间:2017/4/13 1:36:00
--  
以下是引用celchentao在2017/4/13 0:06:00的发言:
这样的话 就没有判断是内网还是 外网了  就直接 用外网的链接了

 

5楼的代码可以弹出提示和打开?我测试 TryConnectHost 并没有问题。

 

应该是你连接字符串有问题吧?按住ctrl不放,用开发者登陆后,测试你外网的连接字符串,看能否连接成功。