Oprava a komprese

 

Funkce Oprava a komprese (dále jen Oprava) provádí opravu a kompresi databází a kontrolu jejich integrity. Průběh celé operace je zaprotokolován do souboru Kontrola_integrity_yyyymmdd_hhnn.txt uloženého v adresáři právě používaného datového profilu Varia. yyyy v znázvu souboru označuje rok, mm měsíc, dd den, hh hodinu a nn minutu spuštění kontroly. 


Před spuštěním Opravy lze zadat následující volby:

1) Datové soubory všech firem

2) Datový soubor aktuální firmy

3) Vybraný MDB soubor...



Na začátku první fáze (Oprava a komprese) je do souboru vario.ini v adresáři datového profilu zapsán řádek

Stop=probíhá oprava a komprese databází.

a uživateli, který se pokusí spustit Vario, se zobrazí hlášení:

Vario nelze nyní spustit. Data jsou neořístupná protože: probíhá oprava a komprese databází.

Do protokolu je zapsána hlavička v závislosti na volbách uvedených výše. V případě volby 1) je zapsán řádek

DD.MM.YYYY HH:mm:ss: Oprava a komprese databází všech firem spuštěna uživatelem JMENOUZIVATELE na stanici JMENOSTANICE.

v případě volby 2)

DD.MM.YYYY HH:mm:ss: Oprava a komprese databází firmy NAZEVFIRMY spuštěna uživatelem JMENOUZIVATELE na stanici JMENOSTANICE.

a v případě volby 3)

DD.MM.YYYY HH:mm:ss: Oprava a komprese databáze JMENODATABAZE spuštěna uživatelem JMENOUZIVATELE na stanici JMENOSTANICE.

Pokud nelze Opravu provést (alespoň jedna z databází je používána jiným uživatelem), je do souboru zaprotokolován pro první nalezenou neopravitelnou databázi řádek

DD.MM.YYYY HH:mm:ss: Opravu a kompresi nelze provést, protože databáze JMENODATABAZE je právě používána.

a Oprava je ukončena s chybovou hláškou stejného znění.
V opačném případě (databáze nejsou uzamčeny) je pro každou Opravovanou databázi zapsán řádek

DD.MM.YYYY HH:mm:ss: Oprava a komprese databáze JMENODATABAZE spuštěna.

a v případě úspěšné opravy dále

DD.MM.YYYY HH:mm:ss: OK: Oprava a komprese dokončena.

Pokud se Oprava nezdaří, je místo předchozího řádku zaprotokolován řádek

DD.MM.YYYY HH:mm:ss: Chyba: Oprava a komprese se nezdařila.

Po dokončení Opravy nezávisle na úspěchu zpracování jednotlivých databází je do protokolu zapsán řádek

DD.MM.YYYY HH:mm:ss: Oprava a komprese databází dokončena.



Během druhé fáze jsou prováděny stejné operace uvedené v článku Kontrola integrity v bodech B2)B5). Do souboru s protokolem jsou zapisovány shodné údaje s výjimkou hlavičky, jejíž znění je následující:

DD.MM.YYYY HH:mm:ss: Kontrola integrity databází spuštěna s vynecháním kontroly platnosti hodnot v jednotlivých polích. (není kontrolována doménová integrita)

a s výjimkou popisu jednotlivých kroků kontroly, které jsou omezeny na následující:

1) Kontrola klíčů ...
2) Kontrola dat v relacích ...
3) Kontrola existence relací ...
4) Kontrola existence tabulky MSysCompactError ...



Pokud proběhne celá operace bez chyb (zamčená databáze není považována za chybu), je v souboru vario.ini změněn řádek

Stop=probíhá oprava a komprese databází.

na

Stop=

což znamená, že uživetelé se mohou do Varia opět přihlásit. Pokud byla nalezena nějaká chyba, je řádek

Stop=probíhá oprava a komprese databází.

změněn na

Stop=data jsou poškozena.

a uživateli, který se pokusí spustit Vario, se zobrazí hlášení:

Vario nelze nyní spustit. Data jsou neořístupná protože: jsou poškozena.