2013-02-25 95 views
1

我们拥有超过40,000个文档的数据库。有一种观点每个月都会保存一份文件,有时会显示错误的数字。该视图不是由在夜间运行的updall函数自动重建的。因此,我们每个月手动执行Shift + F9,然后显示正确的数字。我们的用户需要为此提供永久性解决方案。您能否建议执行此功能的最佳方式?Lotus脚本重建索引

我准备了一个预定的代理来传递服务器控制台中的updall命令,并且不知道它是否要重建视图,因为我现在无法对其进行测试。它真的有用吗?请帮助我。

+4

我的猜测是你在视图选择公式中使用了一个日期,并且某人已经设置了视图选项,以便它只手动刷新。请参阅此IBM Technote:http://www-01.ibm.com/support/docview.wss?uid=swg27002624我的建议是彻底摆脱此视图,并将其替换为文件夹,并使用计划代理在本月的第一天将文档移动到文件夹中。 – 2013-02-25 02:39:10

回答

3

您需要重建视图。在你的程序文件或控制台命令使用此:

load updall yourdb.nsf -T yourview -R 

据帮助-R手段“重建所有使用的意见。”所以-T选项可能不起作用。但是如果你每个月只运行一次,那么重建所有视图是可以的(甚至是好事)。

+2

+1程序文档,不需要代理 – 2013-02-25 09:30:04

2

可以在脚本刷新单个视图:

... 
    dim vw as notesView 
    Set vw = db.GetView("All") 
    Call vw.Refresh 
    ... 

这将刷新后端视图索引,而不是更新UI显示的任何意见,但如预期在预定的代理应该工作。

+1

视图也由索引器任务自动索引。这不会重建这里需要的索引。这里的情况大概就像理查德在他的评论中所描述的那样。 – 2013-02-25 19:04:42

-1

Updall的事件之前,其实,你平时应该:

load fixup yourdb.nsf 

程序文件是一个好办法。

+1

运行fixup可能需要很长时间,只能在异常或怀疑存在严重故障时运行。如果重建或updall获取视图,则不需要fixup。 – andora 2015-08-20 13:13:43