dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Provider = "SQLOLEDB.1"
conn.ConnectionString = "Persist Security Info=False;Initial Catalog=CulpritInfoSystem;Data Source=ServerPC"
conn.Open , "sa", ""如果SQL服务器没开,程序执行到这里就会停止响应好长时间,然后发生运行时错误。
请问如何当SQL服务器没开时给于提示,最好不出现太长的停止响应。
我试过 On Err GoTo 也不行
Set conn = New ADODB.Connection
conn.Provider = "SQLOLEDB.1"
conn.ConnectionString = "Persist Security Info=False;Initial Catalog=CulpritInfoSystem;Data Source=ServerPC"
conn.Open , "sa", ""如果SQL服务器没开,程序执行到这里就会停止响应好长时间,然后发生运行时错误。
请问如何当SQL服务器没开时给于提示,最好不出现太长的停止响应。
我试过 On Err GoTo 也不行
Connect TimeOut
'* 功能:与 SQL SERVER 数据库建立连接并取出服务器时间
'***********************************************************************
Public Function OpenConnection() As String '打开数据库
On Error GoTo SQLConErr
With adoCN
.CursorLocation = adUseClient
.Provider = "sqloledb"
.Properties("Data Source").Value = cNtServerName
.Properties("Initial Catalog").Value = cDatabaseName
.Properties("User ID") = cSQLUserName
.Properties("Password") = cSQLPassword
.Properties("prompt") = adPromptNever
.ConnectionTimeout = 15 ‘可以改这个时间
.Open
If .State = adStateOpen Then
adoDateTime.Open "select getdate()", adoCN, adOpenStatic, adLockOptimistic
cServerDate = Format(adoDateTime(0), "yyyy-mm-dd")
cServertime = Mid(adoDateTime(0), 10)
Else
MsgBox "数据库连接失败,请找系统管理员进行检查 !", 16, cProgramName
End
End If
End With
SqlCommand.ActiveConnection = adoCN
SqlCommand.CommandType = adCmdText
Exit Function
SQLConErr:
Select Case Err.Number
Case -2147467259
MsgBox "找不到指定的SQL Server服务器或者数据库不存在,请重新设置!", vbExclamation
F_SetSystem.Show 1
Case -2147217843
MsgBox "指定的SQL Server数据库用户不存在或口令错误,请重新设置!", vbExclamation
F_SetSystem.Show 1
Case Else
MsgBox "数据环境连接失败,请找系统管理员进行检查 !", 16, cProgramName
End Select
OpenConnection
End Function
on error goto ErrHandle1
ErrHandle1:
Screen.MousePointer = vbDefault
MsgBox "Can't Connect to SQLServer" & vbCrLf & Err.Number & vbCrLf & Err.Description, vbOKOnly + vbExclamation, "Connect Error"