powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Проверка целостности
9 сообщений из 9, страница 1 из 1
Проверка целостности
    #35349139
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверка целостности.
Интересует вот что:
- Как ее запустить?
- Как прервать?
- Как получить протокол?
- Как узнать были ошибки или нет?
Конечно "программно", как это сделать в портале я в курсе...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Проверка целостности
    #35349655
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[Documentation] > [System Administration] > [System Administration Guide] > [Managing Caché]:
Database Integrity Checking Utility...
Do Silent^Integrity(logfilename) starts a background process which does an integrity check on all databases and puts the output in a file specified by the logfilename parameter. This is the equivalent of doing Integrity Check from the [Home] > [Databases] page of the System Management Portal.
Do Query^Integrity(logfilename,outdevice) does not run an integrity check, but puts the contents of the file specified by the logfilename parameter, the results saved from a previous run, out on the current device or the device specified in the optional parameter outdevice.
Можно действовать через класс %SYS.Task.IntegrityCheck, но все равно вызывается Silent^Integrity(). Успех (официально) можно оценить только путем анализа последней (?) строки лог-файла на предмет наличия сообщения "No Errors were found" или его противоположности :(. Но возможно, что у ^Integrity есть внутренняя точка входа, формирующая счетчик ошибок и "забывающая" его в какой-то переменной, по крайней мере, в Cache 4.1/5.0 это было так. Посмотрите по тексту и нам расскАжите :)
...
Рейтинг: 0 / 0
Проверка целостности
    #35350285
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за наводку, будем пробовать...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Проверка целостности
    #35350311
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел сейчас %SYS.Task.IntegrityCheck ... Как его использовать? Вот так?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
s obj=##class(%SYS.Task.IntegrityCheck).%New()
s obj.Directory="USER"
s obj.Filename="c:\box\report.log"
s ok=obj.OnTask()
if ok {
   w !,"Ok"
} else {
   w !,"Error"
}
d obj.%Close()
k obj

Интересно что за статус возвращает OnTask() ? "Есть ошибки или нет" или "смог провести проверку или нет".
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Проверка целостности
    #35350443
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так:
Код: plaintext
1.
2.
3.
4.
5.
zn "%SYS"
set filename="c:\box\report.log"
set ok=##class(SYS.Database).SilentIntegrityCheck(filename,$lb("USER"))
if $$$ISOK(ok) {
	w "Задание было запущено в фоновом режиме.",!,"Результат будет записан в файл ",filename,!
}
или так:
Код: plaintext
1.
2.
3.
4.
5.
6.
zn "%SYS"
set ok=##class(SYS.Database).IntegrityCheck($lb("USER"))
if $$$ISOK(ok) {
   w !,"Ok"
} else {
   w !,"Error"
}

Если нужно проверить не всю БД, а только некоторый глобал, то можно воспользоваться методами:
##Class(%GlobalEdit).CheckGlobalIntegrity
##Class(%GlobalEdit).CheckIntegrity
...
Рейтинг: 0 / 0
Проверка целостности
    #35350636
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa"смог провести проверку или нет".Именно это. Кстати, у точки входа Silent есть и опциональный второй параметр:
Код: plaintext
Do Silent^Integrity(logfilename, dirlist) ; dirlist - список каталогов БД ($lb)
Если не нужен запуск фонового процесса, есть еще точка входа:
Код: plaintext
Do Back^Integrity(logfilename, dirlist, $Job)
...
Рейтинг: 0 / 0
Проверка целостности
    #35351326
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitКак-то так:
...
или так:
...

Похоже у них в каждом классе есть метод проверяющий целостность БД. Спасибо учту.
...
Рейтинг: 0 / 0
Проверка целостности
    #35351333
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov krvsa"смог провести проверку или нет".Именно это.
Жаль...
Alexey MaslovКстати, у точки входа Silent есть и опциональный второй параметр

Склоняюсь больше к использованию класса... Но вот вопрос "каго именно"?
...
Рейтинг: 0 / 0
Проверка целостности
    #35554372
2acid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли в Cache 5.0 провести проверку для конкретной БД ?
По примеру Cache 2007: Do Silent^Integrity(logfilename, dirlist)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Проверка целостности
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]