以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  连接数据库需要二次  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114972)

--  作者:litao21cn
--  发布时间:2018/2/27 8:36:00
--  连接数据库需要二次
打开项目时,连接数据库时总是显示“创建外部连接失败,...",但是如果是开发者登录,第二次连接时又都能连接上,是什么原因呢?
--  作者:有点甜
--  发布时间:2018/2/27 8:47:00
--  

1、确定连接字符串没有修改,就可以连接上?

 

2、你连接的是什么数据库?贴出你的连接字符串。

 

3、试试在beforeOpenProject连接多次

 

Dim s As String = "你的连接字符串"
msgbox(Connections.TryConnect(s))
msgbox(Connections.TryConnect(s))
msgbox(Connections.TryConnect(s))


--  作者:litao21cn
--  发布时间:2018/2/27 9:16:00
--  
Provider=SQLOLEDB.1;Password=****;Persist Security Info=True;User ID=sa;Initial Catalog=****;Data Source=****
beforeOpenProject,三次连接分别显示:false,true,true,然后一次就可以连接上了,真是奇怪了!
这意思就是第一次始终连不上。

--  作者:litao21cn
--  发布时间:2018/2/27 9:47:00
--  
我新建了一个数据链接测试了一下,发现一个问题,第一次还是连不上,如果点一次测试连接,就能连上了,是sql server设置有问题吗?

图片点击可在新窗口打开查看此主题相关图片如下:d00c8ad1-e474-4e7d-b5be-69d1383056a6.gif
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/2/27 10:38:00
--  

应该是你网络的问题吧,第一次连接的时候,连不上,然后第二次才允许进行连接。

 

你在beforeOpenProject事件,先主动连接一次呗。

 

Dim s As String = "你的连接字符串"
Connections.TryConnect(s)


--  作者:litao21cn
--  发布时间:2018/2/27 17:37:00
--  
不是网络的问题,我又测试了一下,把连接字符串Provider=SQLOLEDB.1改成Provider=SQLNCLI.1就没问题了,每次都能连接。上次我发过这个问题,http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113991&replyID=&skin=1
当时还麻烦你们技术人员远程帮助看了一下,后来是TCP/IP协议里面没有加远程IP地址所致,当时是以为能连接了。后来出现第一次连不上,就连第二次,也没有在 意。

--  作者:litao21cn
--  发布时间:2018/2/27 17:47:00
--  
Provider=SQLOLEDB.1和Provider=SQLNCLI.1到底区别在哪里呢?是不是还是哪里的设置没有改过来?Provider=SQLOLEDB.1每次都可以连接,但是还是有点慢。
--  作者:有点甜
--  发布时间:2018/2/27 18:30:00
--  
以下是引用litao21cn在2018/2/27 17:47:00的发言:
Provider=SQLOLEDB.1和Provider=SQLNCLI.1到底区别在哪里呢?是不是还是哪里的设置没有改过来?Provider=SQLOLEDB.1每次都可以连接,但是还是有点慢。

 

这种问题,看看 https://www.baidu.com/baidu?wd=SQLOLEDB.1+SQLNCLI.1+%E5%8C%BA%E5%88%AB

 

如果还是很慢,试试看看 http://www.foxtable.com/webhelp/scr/2730.htm