以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]数据源连接字符串,已解决 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44220) |
-- 作者:万通 -- 发布时间:2013/12/25 20:58:00 -- [求助]数据源连接字符串,已解决 原因:看小说后,自己查找,原来无意中,多加了一个“\\”。自己的一个乌龙 在BeforeConnectOuterDataSource事件中1、只有一个数据源,但有两个连接字符串c1、c2 2、当c1不能连通时,就转到用c2连通; 代码设想如下: dim c1 as string = "provider ...a" dim c2 as string = "provider ...b" Try If Connections.TryConnect(c1) Then e.ConnectionString = c1 Else If Connections.TryConnect(c2) Then e.ConnectionString = c2 End If End If Catch ex As Exception messagebox.show(ex.message) End Try 结果:如果c1不能连通时,就直接弹出要以开发者或管理员重设连接字符串的对话框; 点击后,就直接退出了。(备注: 因为是自定义的登陆窗口,内置登陆窗口已用默认用户登陆。) 那么,1、如何绕开出错的提示框?2、如何做到:当c1不能连通时,就转到用c2连接呢?; 建议狐爸,在所有连接字符串都不能连通时,才弹出那个重设字符串的窗口不是更好吗? [此贴子已经被作者于2013-12-25 22:29:01编辑过]
|
-- 作者:有点甜 -- 发布时间:2013/12/25 21:05:00 -- 不弹出提示框?去项目属性那里设置,可以不弹出的; 看代码,应该是可以转到c2连接的。
|
-- 作者:万通 -- 发布时间:2013/12/25 21:13:00 -- 1、因为系统都进不了,进入软件设置更无从谈起; 2、看代码没用,结果就是转不了; 3、看大神或狐爸哈;
|
-- 作者:有点甜 -- 发布时间:2013/12/25 21:34:00 -- 楼主是否有测试过?我测试可以灵活切换的哦。 Dim c1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\foxtable\\商业版\\Code.mdb;Persist Security Info=False" Dim c2 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\foxtable\\商业版\\Help.mdb;Persist Security Info=False" If Connections.TryConnect(c1) Then e.ConnectionString = c1 Else If Connections.TryConnect(c2) Then e.ConnectionString = c2 Else msgbox("没有数据源") End If |
-- 作者:程兴刚 -- 发布时间:2013/12/25 21:38:00 -- 逻辑问题:只有一个数据源,但有两个连接字符串c1、c2 从上面说法完全可以理解为:c1、c2都同时指向了这个数据源,也就是多域名,都绑定了一个链接地址,您用的不是IP链接,但是您忽略了,C1链接不通时,C2同样链接不通(后台服务器异常的情况下) 所以,您应该这样:准确地说,确定只有一个数据源的时候,在这里不能链接数据源时,就退出系统,除非您用备用数据源(多数据源方案)。
|
-- 作者:万通 -- 发布时间:2013/12/25 21:47:00 -- 说明一下:没有自定义登陆窗口时,是可以转换的。 可以这样测试:1、c1为最初数据库所在的位置(如D盘下); 2、将数据库移到桌面,c2为数据库新的位置(桌面), 3、这样有自定义登陆窗口,并已内置窗口默认用户登陆,测试就会出错的。
[此贴子已经被作者于2013-12-25 21:57:48编辑过]
|
-- 作者:有点甜 -- 发布时间:2013/12/25 21:56:00 -- 只要路径正确,而且数据源存在于路径,就一定能连接上,这是基本的。 我测试的方法:把两个数据源剪切出来,报错;拷贝任意一个进去,可以连接登陆。
|
-- 作者:程兴刚 -- 发布时间:2013/12/25 22:07:00 -- msgbox.show("没有数据源") \'您不会是依葫芦画瓢画错了吧。 |
-- 作者:万通 -- 发布时间:2013/12/25 22:27:00 -- 自己狂晕,搞了半天,竟然是一个乌龙。 在新的连接字符串的数据库地址中,无意中多加了一个“\\”。总怀疑是代码逻辑问题。没想到是这个。 感谢大家的回复,谢谢!不好意思,小心写代码,以此共勉!
|