我有一个包含两个代理的数据库,实际上有两个以上,但现在只有两个。一个有效,另一个没有。两者都在Uselsx '*lsxlc'
中定义了(Options)
。
除了
之外,我已在注释失败代理中的所有内容Dim s As New NotesSession
Dim db As NotesDatabase
Dim agentLog As NotesLog
Set db = s.CurrentDatabase
'agent log
Set agentLog = New NotesLog("Customers from Aging Report - AKM")
Call agentLog.OpenNotesLog( db.server, "agentinfo.nsf" )
agentLog.LogActions = True 'Set to True/False to turn on/off action logging
agentLog.LogErrors = True 'Set to True/False to turn on/off error logging
Call agentLog.LogAction("Start Agent: GetCustomerDataBasedOnAging")
On Error Goto throwError
Dim lcses As New LCSession
Dim src As New LCConnection(COutConn)
%REM
....
%END REM
Exit Sub
throwError:
'Error code
Dim epos As String
Dim emsg As String
Dim msg As String
Dim result As String
Dim status As Integer
Dim msgcode As Long
If lcses.status <> LCSUCCESS Then
status = lcses.GetStatus (result, msgcode, msg)
Call agentLog.LogError( msgcode,"Status for connector session is: " & Cstr(status) & Chr(10) & "Message: " & msg & " Code # " & Cstr(msgcode) & Chr(10) & "Connector Message: " & result )
emsg = "Customers from Aging Report' Agent: ("+Cstr(Erl)+") "& "[" &Cstr(Err) & "] [" & Error$ & "]"
Call agentLog.LogError( Err, emsg)
Else
emsg = "Customers from Aging Report' Agent: ("+Cstr(Erl)+") "& "[" &Cstr(Err) & "] [" & Error$ & "]"
Call agentLog.LogError( Err, emsg)
End If
Resume Next
COutConn被定义为值为'DB2'的常量
我在座席日志中收到以下错误:
Status for connector session is: 1544
Message: Code # 0
Connector Message: Error: Cannot find Connector 'DB2'
无论是使用常量COutConn还是“DB2”,都会发生这种情况。
奇怪的是,具有相同定义的其他代理正常工作。我知道机器上存在DB2,它是i5 / OS v5r4。 DB2内置在此操作系统上。
我还需要寻找什么?
答案 0 :(得分:1)
答案是,确保您知道运行代理的计算机。右键单击Domino Designer中的代理程序,并像我一样选择“运行”时,代理程序不在数据库所在的服务器上运行,而是在Domino Designer客户机中运行。根据您的工作站,它将是Windows或Linux。
那么为什么一个代理人工作而另一个代理没有呢?那个工作的那个是从Notes客户端的按钮激活的,并且附加到按钮的功能使用了Run on Server
。服务器确实是IBM i。但是,对于失败的代理,我从Domino Designer中执行了那个,如上所述,因此没有DB2连接器。
希望有人可以从我的痛苦中吸取教训!