Удаление аварийных сообщений
Александр; 15.5.04

Подскажите пожалуйста, с помощью вызова какой процедуры можно полностью очистить архив аварийных сообщений Alarm Log ?

(используется WinCC 4)
Re: Удаление аварийных сообщений
Маслов Дмитрий; 15.5.04

Если базу надо очистить при остановленном проекте, то проще всего заменить весь файл RT-базы данных проекта на пустой (взять из WinCC\Bin).

Если это надо сделать при запущенном проекте, то можно из скрипта WinCC обратиться к RT-базе данных посредством вызова функций библиотеки odbc32.dll (описание функций читайте в MSDN) и выполнить SQL-запрос на удаление сообщений: "delete from MSArcLong". Тонкость заключается в том, что если сообщений в архиве очень много, то запрос будет выполняться непомерно долго (поскольку сильно вырастет сегмент отката Sybase). В этом случае полезно выполнять удаление в несколько приемов, удаляя каждый раз порцию сообщений запросом типа "delete from MSArcLong where t between <начальное время> and <конечное время>", с последующим выполнением "commit".<<br>