У меня есть работающий агент Lotus Notes. Бег на LN 7.
Мой агент запускается каждые 5 минут и отправляет несколько писем всякий раз, когда находит какие-то конкретные записи в таблице Microsoft SQL (2005).
Обычно он работает нормально, но недавно он перестал работать - больше, чем один раз - и не будет перезапускаться до тех пор, пока сервер Notes не будет перезапущен или администратор Notes перезапустит все агенты (я не администратор Notes, поэтому я не совсем уверен, что он делает, я пытаюсь добавить эту информацию к этому вопросу).
Я пытаюсь исключить все, что могу придумать, и единственное, что мне приходит в голову, это то, что MS SQL Server, на котором мой агент LN выполняет запросы, имел некоторые проблемы со стабильностью и не всегда мог быть подключен к сети .. . Я подумал, что это может быть причиной проблемы ... (Я пытаюсь сопоставить журнал рабочего времени из SQL с последним успешным завершением моего агента).
Я думал, есть ли способ управления соединением, кроме того, что я делаю, поэтому я могу исключить (отсутствие) проблемы с соединением.
Заранее благодарим за любые советы, которые вы можете предоставить.
С уважением,
Diego
Option Public
Uselsx "*LSXODBC"
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim subject As String, cc As String, bcc As String, sender As String, OID As String, mailto As String, bodyNotMIME As String
Dim body As NotesMIMEEntity
On Error Goto errorCounter
Set db = session.CurrentDatabase
Gosub SendMailGeneral
Exit Sub
SendMailGeneral:
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
Dim defaultQuery As String
Set qry.Connection = con
If con.ConnectTo("DSN_Name","USER_NAME", "PASSWORD") Then
Set result.Query = qry
defaultQuery = "select TOP (10) * from Message where StatusType=0"
qry.SQL = defaultQuery
result.Execute
If (result.IsResultSetAvailable) Then
Do
result.NextRowcode
//here´s all the code that gets the results from each table´s fields and transform them into notes mails
Loop Until result.IsEndOfData
End If
End If
result.Close(DB_CLOSE)
Return
End Sub