以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求自动切换数据源代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=44584)

--  作者:wang1988sen
--  发布时间:2014/1/4 11:55:00
--  求自动切换数据源代码
如果局域网数据不能正常连接自动切换到本地   D:\\数据库\数据库文件mdb   。          数据源名称为“外部数据源”.     代码 怎么写呢?
--  作者:Bin
--  发布时间:2014/1/4 11:56:00
--  
http://www.foxtable.com/help/topics/0682.htm
--  作者:wang1988sen
--  发布时间:2014/1/4 12:00:00
--  
这个帮助我看了,外部数据源不是用ip的,是用局域网的,是局域网数据源切换为本地数据源,这个代码还可以套用吗?
--  作者:Bin
--  发布时间:2014/1/4 12:03:00
--  
一样的,同样的方式变换地址即可. 或者直接整个链接字符串替换掉
--  作者:wang1988sen
--  发布时间:2014/1/4 12:33:00
--  
If e.Name = "学生成绩数据库" Then
    If Network.Ping(""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\\\Nsuxlpwzgg8u8el\\数据库\\管理系统数据库.mdb;Persist Security Info=False"",1000) =True Then \'如果第一个IP无法接通
        e.ConnectionString = e.ConnectionString.Replace(""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\\\Nsuxlpwzgg8u8el\\数据库\\管理系统数据库.mdb;Persist Security Info=False
"", ""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\数据库\\管理系统数据库.mdb;Persist Security Info=False"") 
    End If
End If


这样说参数出差,重载失败,帮我看看错那了

--  作者:狐狸爸爸
--  发布时间:2014/1/4 12:42:00
--  

ping的是ip,不是连接字符串,连接字符串用tryconnect:

http://www.foxtable.com/help/topics/1944.htm

 

而且无法连接是等于false,不是等于True,这样的错误怎么能有? 还有整体替换,不是这样替换的,整体替换是指定一个新的临街字符串,ip之类的局部修改才用replace的。

 

If e.Name = "学生成绩数据库" Then
    If Connections.TryConnect(""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\\\Nsuxlpwzgg8u8el\\数据库\\管理系统数据库.mdb;Persist Security Info=False"",1000) = false Then \'如果第一个数据库无法接通
         e.Connection String ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\数据库\\管理系统数据库.mdb;Persist Security Info=False"
    End If
End If
[此贴子已经被作者于2014-1-4 12:44:01编辑过]

--  作者:wang1988sen
--  发布时间:2014/1/4 13:02:00
--  
还是出现错误了
图片点击可在新窗口打开查看此主题相关图片如下:88888888888888828.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2014/1/4 13:04:00
--  

有手误而已,多了一个双引号,你自己删除就行了。


--  作者:wang1988sen
--  发布时间:2014/1/4 13:04:00
--  
第二句检查几遍,没有标点符号的错误,
--  作者:狐狸爸爸
--  发布时间:2014/1/4 13:05:00
--  
If e.Name = "学生成绩数据库" Then
    If Connections.TryConnect("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\\\Nsuxlpwzgg8u8el\\数据库\\管理系统数据库.mdb;Persist Security Info=False") = False Then \'如果第一个数据库无法接通
         e.Connection String ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\数据库\\管理系统数据库.mdb;Persist Security Info=False"
    End If
End If