高手支招——如何用.net程序快速检测与SQL服务器的连接状态?

ytuliangzi 2004-08-24 10:00:13
问题:如何用.net程序快速检测与SQL服务器的连接状态?
我写的检测函数如下:
Public Function Testconn(ByVal UserName As String, ByVal Password As String, ByVal _ ServerName As String) As Boolean
Dim DBConn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection

Dim Strconnection As String
Dim str As String
Try
DBConn.ConnectionString = "User ID=" & UserName & ";Password=" & Password & ";Data Source=" & ServerName & ";Initial Catalog=FireDocument;Auto Translate=True;Persist Security Info=False;Provider=""SQLOLEDB.1"""
DBConn.Open()
Dim pp As New OleDb.OleDbCommand
pp.Connection = DBConn
pp.CommandText = "select top 1 * from sysobjects"
pp.ExecuteNonQuery()
pp.Dispose()
DBConn.Close()
DBConn.Dispose()
Return True
Catch ex As Exception
Return False
End Try
End Function
用这个函数检测,所用时间太长!望高手提供建议和程序代码!! 3Q!
...全文
154 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
长江 2004-08-24
  • 打赏
  • 举报
回复
如果服务器有防火墙就ping不了~!

建议改你原来的代码:
Public Function Testconn(ByVal UserName As String, ByVal Password As String, ByVal _ ServerName As String) As Boolean
Dim DBConn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection

Dim Strconnection As String
Dim str As String
Try
DBConn.ConnectionString = "User ID=" & UserName & ";Password=" & Password & ";Data Source=" & ServerName & ";Initial Catalog=FireDocument;Auto Translate=True;Persist Security Info=False;Provider=""SQLOLEDB.1"""
DBConn.ConnectionTimeout=5000
DBConn.Open()
DBConn.Close()
DBConn.Dispose()
Return True
Catch ex As Exception
Return False
End Try
End Function
ytuliangzi 2004-08-24
  • 打赏
  • 举报
回复
郁闷 DBConn.ConnectionTimeout = 5 怕不够用,=10 太久了 !!
谢谢大家 ,结帖吃饭!!
ytuliangzi 2004-08-24
  • 打赏
  • 举报
回复
.net 中怎样运行ping ip的命令?
CYG369 2004-08-24
  • 打赏
  • 举报
回复
up
ytuliangzi 2004-08-24
  • 打赏
  • 举报
回复
我试一下!
Fusuli 2004-08-24
  • 打赏
  • 举报
回复
大部分程序都是用超时来判断连接错误的,但是之前你可以ping一下服务器的ip,ping ip超时比数据库连接超时要短得多
lpc007 2004-08-24
  • 打赏
  • 举报
回复
DBConn.ConnectionTimeout 可以设置一个时间,如果连接时间超过设置的时间就返回FALSE
dofly 2004-08-24
  • 打赏
  • 举报
回复
学习。。。。。。。。。。。。。。
ytuliangzi 2004-08-24
  • 打赏
  • 举报
回复
我发现运行 DBConn.Open()用的时间太久了,特别是与服务器连接不上的时候,能不能在连接不上的时候,快速的返回一个False !!
lpc007 2004-08-24
  • 打赏
  • 举报
回复
DBConn.State 连接状态 具体看帮助

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧