以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 同一个数据源名称 有两个链接字符串 怎么实现先判断第一个 如果第一个链接不成功 就用第二个字符串链接呢?确保两个都不能链接的时候再弹出错误提示,如果有其中一个可以连接就不弹出错误提示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170100) |
|
-- 作者:cnsjroom -- 发布时间:2021/7/12 15:36:00 -- 同一个数据源名称 有两个链接字符串 怎么实现先判断第一个 如果第一个链接不成功 就用第二个字符串链接呢?确保两个都不能链接的时候再弹出错误提示,如果有其中一个可以连接就不弹出错误提示 同一个数据源名称 有两个链接字符串 怎么实现先判断第一个 如果第一个链接不成功 就用第二个字符串链接呢?确保两个都不能链接的时候再弹出错误提示,如果有其中一个可以连接就不弹出错误提示 If e.name = "kj222" Then e.Connec tionS tring = "Pro vider=SQLO LEDB.1;Passw ord=kj222;Persist Sec urity Info=True;User ID=sa;Initial Cata log=BW_KJ222;Data Sour ce=DESKTOP-4HGMIGM\\SQLEXPRESS" e.Connec tionS tring = "Pro vider=SQLO LEDB.1;Passw ord=kj222;Persist Sec urity Info=True;User ID=sa;Initial Cata log=BW_KJ222;Data Sour ce=WIN-RR3MKL7U9ON\\SQLSERVER2008" ElseIf e.name = "BW_HR" Then e.Connectio nString = "Pro vider=SQLO LEDB.1;Pass word=kj222;Persist Secur ity Info=True;User ID=sa;Init ial Cat alog=BW_HR;Data Sou r ce=DESKTOP-4HGMIGM\\SQLEXPRESS" e.Connectio nString = "Pro vider=SQLO LEDB.1;Pass word=kj222;Persist Secur ity Info=True;User ID=sa;Init ial Cat alog=BW_HR;Data Sou r ce=WIN-RR3MKL7U9ON\\SQLSERVER2008" End If [此贴子已经被作者于2021/7/12 15:41:09编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2021/7/12 15:48:00 -- 参考:http://www.foxtable.com/webhelp/topics/0682.htm If e.Name = "数据源名称" Then If Network.Ping("192.168.1.100",1000) = False Then \'如果第一个IP无法接通 If Network.Ping("119.75.217.56",1000) = False Then \'如果第二个IP无法接通 msgbox("出错") Else e.ConnectionString = e.ConnectionString.Replace("192.168.1.100", "119.75.217.56") End If End If End If |
|
-- 作者:cnsjroom -- 发布时间:2021/7/12 15:53:00 -- 回复:(有点蓝)参考:http://www.foxtable.com/webh... 看见过这个帮主内容 但是没有明白 怎么用法 我的连接语句里面不是ip
[此贴子已经被作者于2021/7/12 15:54:04编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2021/7/12 16:15:00 -- 机器名也可以。不过建议都改为使用IP吧,不然系统还得做多一次解析 |
|
-- 作者:cnsjroom -- 发布时间:2021/7/12 16:48:00 -- 回复:(有点蓝)机器名也可以。不过建议都改为使用IP... If e.Name = "kj222" Then If Network.Ping("DESKTOP-4HGMIGM\\SQLEXPRESS",1000) = False Then \'如果第一个IP无法接通 If Network.Ping("WIN-RR3MKL7U9ON\\SQLSERVER2008",1000) = False Then \'如果第二个IP无法接通 msgbox("出错") Else e.ConnectionString = e.ConnectionString.Replace("DESKTOP-4HGMIGM\\SQLEXPRESS", "WIN-RR3MKL7U9ON\\SQLSERVER2008") End If End If ELSE If e.Name = "BW_HR" Then If Network.Ping("DESKTOP-4HGMIGM\\SQLEXPRESS",1000) = False Then \'如果第一个IP无法接通 If Network.Ping("WIN-RR3MKL7U9ON\\SQLSERVER2008",1000) = False Then \'如果第二个IP无法接通 msgbox("出错") Else e.ConnectionString = e.ConnectionString.Replace("DESKTOP-4HGMIGM\\SQLEXPRESS", "WIN-RR3MKL7U9ON\\SQLSERVER2008") End If End If End If 老师 是这样么?下面的红色部分又该写在哪里呢?
|
|
-- 作者:有点蓝 -- 发布时间:2021/7/12 16:56:00 -- 第二段代码不需要了 |
|
-- 作者:cnsjroom -- 发布时间:2021/7/12 17:06:00 -- 回复:(有点蓝)第二段代码不需要了
[此贴子已经被作者于2021/7/12 17:18:46编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2021/7/12 17:25:00 -- If e.Name = "kj222" Then If Network.Ping("DESKTOP-4HGMIGM\\SQLEXPRESS",1000) = False Then \'如果第一个IP无法接通 If Network.Ping("WIN-RR3MKL7U9ON\\SQLSERVER2008",1000) = False Then \'如果第二个IP无法接通 msgbox("出错") Else e.Connec tionS tring = "Pro vider=SQLO LEDB.1;Passw ord=kj222;Persist Sec urity Info=True;User ID=sa;Initial Cata log=BW_KJ222;Data Sour ce=WIN-RR3MKL7U9ON\\SQLSERVER2008" End If End If ELSE If e.Name = "BW_HR" Then If Network.Ping("DESKTOP-4HGMIGM\\SQLEXPRESS",1000) = False Then \'如果第一个IP无法接通 If Network.Ping("WIN-RR3MKL7U9ON\\SQLSERVER2008",1000) = False Then \'如果第二个IP无法接通 msgbox("出错") Else e.Connectio nString = "Pro vider=SQLO LEDB.1;Pass word=kj222;Persist Secur ity Info=True;User ID=sa;Init ial Cat alog=BW_HR;Data Sou r ce=WIN-RR3MKL7U9ON\\SQLSERVER2008" End If End If End If |
|
-- 作者:cnsjroom -- 发布时间:2021/7/12 17:50:00 -- 回复:(有点蓝)If e.Name = "kj222" Then &nb... 还是没有实现DESKTOP-4HGMIGM\\SQLEXPRESS不通的时候,不要提示错误 直接跳到WIN-RR3MKL7U9ON\\SQLSERVER2008 当WIN-RR3MKL7U9ON\\SQLSERVER2008这个都链接不上的时候 再提示错误 |
|
-- 作者:有点蓝 -- 发布时间:2021/7/12 20:10:00 -- 代码就是这个逻辑。不行的话就使用IP吧 |