2013-02-25 2 views
1

У нас есть база данных с более чем 40 000 документов. Существует представление, которое сохраняет документ каждый месяц и иногда показывает неправильную цифру. Это представление не восстанавливается автоматически функцией updall, которая выполняется в середине ночи. Следовательно, мы каждый раз выполняем Shift + F9 вручную, после чего выводим правильную цифру. Наш пользователь запросил постоянное решение для этого. Можете ли вы предложить лучший способ выполнить эту функцию?Сценарий Lotus для восстановления индекса

Я подготовил агента по расписанию, чтобы передать команду updall в консоли сервера и не знаю, собирается ли она перестроить представление, поскольку я не могу его протестировать сейчас. Будет ли это действительно работать? Любезно помогите мне.

+4

Я предполагаю, что вы используете дату в формуле выбора вида, и кто-то задал параметры вида, чтобы он обновлялся вручную. См. Этот IBM Technote: http://www-01.ibm.com/support/docview.wss?uid=swg27002624. Мое предложение состояло в том, чтобы полностью избавиться от этого представления и заменить его на папку, используя плановый агент для переместите документ в папку в первый день месяца. –

ответ

3

Необходимо перестроить вид. Используйте это в вашей программе документа или консольной команды:

load updall yourdb.nsf -T yourview -R 

Согласно помощи -R означает «перестраивает все используемые виды.» поэтому -T вариант может не работать. Но если вы запускаете это только один раз в месяц, все в порядке (и даже хорошо), чтобы перестроить все виды.

+2

+1 для документа программы, агент не нужен –

2

Вы можете обновить один вид в скрипте:

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

Это обновит индекс вида фоновым, а не обновлять любые мнения, отображаемые в интерфейсе, но он должен работать, как ожидается, в запланированном агента.

+1

Представления также автоматически индексируются по заданию индексатора. Это не приведет к восстановлению индекса, который здесь необходим. Случай здесь, вероятно, так же, как Ричард описывает это в своем комментарии. –

-1

На самом деле, прежде чем UPDALL случае, вы обычно должны:

load fixup yourdb.nsf 

В программных документах является хорошим способом.

+1

Запуск исправления может занять много времени и должен выполняться только в случае исключения или когда вы подозреваете действительно серьезную ошибку. Если воссоздание или updall получает представление назад, тогда исправление не требуется. – andora

Смежные вопросы