以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  仍然是远程数据源的问题,感觉要疯了!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172469)

--  作者:hitzfeld
--  发布时间:2021/10/14 2:00:00
--  仍然是远程数据源的问题,感觉要疯了!
之前发过一个帖子:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=171966&skin=0 求教多数据源的问题。但是蓝老师的答案仍然不行,按照蓝老师说的
BeforeConnectOuterDataSource事件中添加下面的代码:
If e.Name = "gcerp" Then
    If Network.Ping("主机名称",1000) = False  Then \'这里我没有使用IP地址,而是用主机名称的方式连接
        e.Connec tion String = e.Connec tion String.Replace("主机名称""
1234567.uttcare.com,9999") \'注:1234567.uttcare.com是虚拟域名的地址,已经做了端口映射。
    End If
End
 If
仍然是出现无论怎么改,只要代码第一句是“If e.Name = "gcerp" Then” 那么系统启动的时候就非要连接第一个数据源不可,绝对不会切换到第二个数据源,系统会报错“连接GCERP错误,请联系管理员”然后直接退出。”


感觉教程根本就是错误的,为了测试远程数据库是否能用。我特别在一台新电脑上安装狐表,直接建立远程数据源,直接测试成功,系统非常迅速的就连接上了。完全不需要什么特别的设置。读写数据库都非常顺利。
但是,使用了教程的代码,根本就无法连接!我吧端口号去掉了,直接开1433端口映射也不行。真的是不知道要怎么走了。

--  作者:ajie5211
--  发布时间:2021/10/14 9:01:00
--  

If e.name = "连接名称" Then
    e.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & e.ProjectPath &
e.User.ExtendedValues("数据库") & ".mdb;Persist Security Info=False"
End
if

这里直接换成新数据源的完整连接字符串,肯定可以的,天天用的东西。


--  作者:有点蓝
--  发布时间:2021/10/14 9:36:00
--  
If e.Name = "gcerp" Then
dim b as Boolean = Network.Ping("主机名称",1000)
msgbox(b) ‘这里显示什么如果是ping的通的也就是true,肯定不会执行下面的if代码
    If b = False  Then \'这里我没有使用IP地址,而是用主机名称的方式连接
        e.Connec tion String = e.Connec tion String.Replace("主机名称""
1234567.uttcare.com,9999") \'注:1234567.uttcare.com是虚拟域名的地址,已经做了端口映射。
    End If
End
 If
[此贴子已经被作者于2021/10/14 9:36:13编辑过]