2013-03-26 31 views
0

我有一个Lotus Notes代理,它搜索数据库,然后以Excel格式返回结果。当我使用触发器运行Agent时,我得到了正确的结果:On Event - > Action menu selection。但是当我计划在服务器上运行代理时,我收到了不同的结果。总是有10个文档一直显示在Excel文件的前10行,当我在数据库中手动搜索时,我无法在数据库中找到这10个文档。Lotus Notes代理在服务器上运行时出现意外的结果

有几件事情是关于我从我的PC和服务器运行的代理不同:

  1. 我有Office 2010和服务器的Office 2003,所以SaveAs方法使用不同的参数

    xlApp.ActiveWorkbook.SaveAs file_Path, 43 'for Office 2003 
    
    xlApp.ActiveWorkbook.SaveAs file_Path, 56 'for Office 2010 
    
  2. 从我的PC运行代理将Excel文件保存在本地硬盘驱动器中。从服务器运行的代理会保存下面的路径上的Excel文件:

    C:\Windows\SysWOW64\config\systemprofile\Desktop\FileName.xls 
    

我的搜索语句:

search_Formula = {Form = "WORec" & SoftDelete != "Y" & WO_Dept="REPAIR" & } & _ 
    {WO_Status != "Completed" & WO_Status != "Declined" & } & _ 
    {@Like(WOBinNumber; "R%")} 

我不认为任何的那两个差异造成的问题,但我不知道还有什么可以尝试的,因为当它在服务器上运行时无法逐句通过代码。任何帮助表示赞赏。

+0

>因为当它在服务器上运行时,我无法逐句通过代码 - 实际上,您可以。查看设计器帮助,远程调试器或谷歌rdebug任务。 – 2013-03-26 15:37:48

回答

2

手动运行代理时,可以在当前用户的安全上下文下运行该代理。预定的代理在服务器的安全上下文下运行。

如果有文档上有读者字段,他们可能只对某些用户(即服务器,而不是你)可见。

如果您访问服务器并在服务器上启动Notes,您可能会看到这些文档。

+0

在服务器上,我是否使用Notes标识或服务器标识启动Notes?我使用server.id在我的PC上打开了数据库,但找不到在Excel文件中显示的文档。 – 2013-03-26 17:24:47

+1

当您在自己的PC上使用server.id时,是否打开数据库的本地副本?如果是这样,那么这个副本就是用你的ID创建的,所以它只包含你的ID可以访问的文档。如果你真的设法在服务器上打开它,那么......我很惊讶,因为我认为服务器安全性会使用它自己的ID拒绝来自另一个设备的远程连接。 (但我可能是错的。)无论如何,我会建议另一个测试。假设您拥有权限或可以获得权限,请使用具有“完全访问管理”权限的ID在服务器上打开数据库。 – 2013-03-26 17:46:16

+0

很好,显然我可以使用我的Notes标识使用“完全访问管理”权限查看这些文档。真奇怪,但我得到了答案。感谢Ken和Richard! – 2013-03-26 18:31:43