0

我有一个工作的 Lotus Notes 代理。在 LN 7 上运行。我的代理每 5 分钟运行一次,每当它在 Microsoft SQL (2005) 表上找到一些特定记录时,它就会发送一些邮件。

它通常工作正常,但最近它停止工作 - 现在不止一次 - 并且在 Notes 服务器重新启动或 Notes 管理员重新启动所有代理之前不会再次重新启动(我不是 Notes 管理员,所以我不是真的确定他做了什么,我正在尝试获取此信息以添加到此问题中)。

我试图排除我能想到的任何事情,我唯一想到的是,我的 LN 代理运行查询的 MS SQL Server 存在一些稳定性问题,可能并不总是在线......我想这可能是问题的原因......(我正在尝试从 SQL 中交叉引用正常运行时间日志和我的代理上次成功完成的时间)。

我在想是否有任何方法可以管理连接,而不是我正在做的事情,所以我可以排除(缺乏)连接问题。

提前感谢您提供的任何建议。

亲切的问候,

迭戈

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

结束子

4

2 回答 2

0

以防万一其他人有同样的问题:

我们终于发现 SQL 服务器出现了一些超时错误,并且 Notes 服务器上出现了一条错误消息提示,该提示将阻止代理运行,直到单击确定按钮 (!)。

为了避免服务器上出现这些“视觉”提示错误,我在 OCBC 连接定义中发现了 SilentMode 选项:这是您必须做的:

con.SilentMode = True

不管怎么说,还是要谢谢你!

于 2011-02-07T15:18:28.530 回答
0

我有一个非常相似的问题(在 Domino 6.0.4 中),这是由于一个错误。已经有一段时间了,所以我不记得我在哪里发现它报告为但是(可能在 notes.net 上),但我花了很多时间试图找出解决方法。在我的情况下,唯一的解决方法是重新启动服务器。

让您的管理员在代理触发时检查日志中是否有任何错误消息。您还可以向代理添加一些打印语句,这些语句会写入日志,以确认代理正在运行。

如果您的问题与我的相同,则症状将是:

  • 代理运行良好,但与发送消息相关的日志中有错误。
  • 任何其他发送邮件的代理也会受到影响。
  • 它可以正常工作数周甚至数月,然后突然停止工作。
  • 不幸的是,我发现的唯一解决方法是在它发生时重新启动。
于 2010-10-04T17:58:10.203 回答