以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教,判断SQL服务器是否断开?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=8717)

--  作者:baoxyang
--  发布时间:2010/12/1 10:57:00
--  请教,判断SQL服务器是否断开?
利用这个判断:Dim Conn As New Data.Oledb.OledbConnection(Str1),系统会抛出异常,而且反映速度很慢。有无其它办法判断数据库是否连接办法(不抛也异常,而且响应速度很快),请各位帮忙,谢谢!!!

--  作者:狐狸爸爸
--  发布时间:2010/12/1 11:05:00
--  
ping他
--  作者:baoxyang
--  发布时间:2010/12/1 11:11:00
--  
ping有些时候不行呀,因为能ping通,不代表数据库运行,我这还有一个原因是,使用动态域名来连接服务器的,网络断开了,一段时间内是可以ping通的。有无其它办法进行判断。谢谢!!
--  作者:狐狸爸爸
--  发布时间:2010/12/1 11:30:00
--  

通过连接字符串设置,在连接字符串后面加上

Connect Timeout = 秒数;

 

例如设置为5秒:

 

Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=hehui;Connect Timeout = 5;

 

这样如果5秒内连接不上,就会报错。


--  作者:baoxyang
--  发布时间:2010/12/1 11:46:00
--  
Dim Conn As New Data.Oledb.OledbConnection(Str1)
Try
   b = True
   messagebox.show("成功")
Catch
   b = False
   messagebox.show("失败")
End Try
如果服务器断开时就抛出异常,根本不会执行Catch代码,这个因如何解决。
--  作者:狐狸爸爸
--  发布时间:2010/12/1 12:16:00
--  

Dim Conn As New Data.Oledb.OledbConnection(Str1)
Try
   conn.Open
   messagebox.show("成功")

   conn.Close
Catch 
   messagebox.show("失败")
End Try


--  作者:baoxyang
--  发布时间:2010/12/1 16:14:00
--  
OK!谢了!!
--  作者:小狐
--  发布时间:2010/12/16 15:32:00
--  
内网用内网ip地址登陆,外网用外网地址登陆,这个要怎么做。有没有谁可以提供例子?