VB 和 SQL Server 连接,当连接不上或者数据库服务器关了,提示出错,该如何处理?
Set db = New Connection
db.Open "PROVIDER=MSDASQL;" + "DRIVER={SQL Server};" + "SERVER=pc15;" + "DATABASE=tsg;" + "UID=sa;" + "PWD="
Set db = New Connection
db.Open "PROVIDER=MSDASQL;" + "DRIVER={SQL Server};" + "SERVER=pc15;" + "DATABASE=tsg;" + "UID=sa;" + "PWD="
Public SqlCommand As New ADODB.Command '定义 SQL 命令
Dim adoDateTime As New ADODB.Recordset '获取 NT-SERVER 时间
'***********************************************************************
'* 功能:与 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
1.用on error goto err_done
在err_done处处理错误
2.用on error resume next
在open后用if (err.number<>0) then来判断错误,进行处理供参考。^_^