|
沙发

楼主 |
发表于 2019-5-13 22:51:21
|
只看该作者
- Public Function CheckDB()
- Dim res As Boolean
- Dim yn As Integer
- Dim count As Integer
- count = 0
- Do
- count = count + 1
- res = CheckDataBase("SYANT")
- If res Then
- yn = vbNo
- Else
- yn = MsgBox("MES数据库重连失败,是否继续尝试重连?" & CStr(count), vbYesNo, "MES")
- End If
- Loop While (res = False) And (yn = vbYes)
- End Function
- Public Sub session_start()
- Dim StrSql As String
- Dim res As String
- Dim adors1 As ADODB.Recordset
- StrSql = "CALL syant.session_start('TR_IQC','1.1.8','',TRUE,@x);"
- Set adors1 = CN.Execute(StrSql)
- End Sub
- Public Function CheckDataBase(app_name As String) As Boolean
- Dim StrSql As String
- Dim res As String
- Dim adors1 As ADODB.Recordset
- On Error GoTo chkError
- CheckDataBase = False
- StrSql = "select now() from dual "
- Set adors1 = CN.Execute(StrSql)
- ' so ok!
- adors1.Close
- Set adors1 = Nothing
- CheckDataBase = True
- Exit Function
- chkError:
- On Error GoTo DataBaseError
- res = NSD_APM.ReConnect(app_name)
- If res = "ReConnect OK!" Then
- Set CN = Nothing
- Set CN = NSD_APM.CN
- CheckDataBase = True
- Call session_start
- Else
- 'MsgBox Err.Description, vbCritical, "MES数据库重连失败!"
- End If
- Exit Function
- DataBaseError:
- 'MsgBox Err.Description, vbCritical, "MES数据库重连失败!"
- End Function
复制代码 |
|