Delphi - TIBValidationService komponens

Interbase 19. rész

forráskód letöltése
Ebben fejezetében ismerjük meg az IBValidationService komponenst, amelyik segítségünkre van adatbázisunk helyességének az ellenőrzésében.
Az adatbázisunk többféle okból kifolyólag is meghibásodhat a napi használat során: áramszünet, félbeszakadt tranzakció, lemezhiba vagy adatok helytelen rögzítése. A biztonságos adatkezelés fontos része, hogy információt szerezhessünk adatbázisunk helyességéről, és az esetleg fellépő hibákat lehetőség szerint ki tudjuk javítani. Adatbázisunk állapotáról az IBConsole alkalmazás segítségével is meggyőződhetünk. Miután beléptünk a kiválasztott szerverre, ne nyissuk meg az adatbázist, hanem kattintsunk a jobb egér gombbal a nevén. A megjelenő helyi menüből válasszuk a Validation… pontot. A megjelenő ablakban válasszuk ki, hogy milyen pontok szerint történjen adataink ellenőrzése, majd nyomjuk meg az OK gombot. Kis idő múlva egy új ablak nyílik, amelyben láthatjuk az esetleges hibákat. Ha van hiba, azt a Repair feliratú gombbal megkísérelhetjük kijavítani.
Programunkban hasonló feladatot valósíthatunk meg az IBValidationService komponens használatával. Komponensünk használata során először állítsuk be a DatabaseName, ServerName, Protocol és az Options tulajdonságokat. Ezt követően kapcsolódjunk az adatbázis-kezelőhöz, majd hívjuk meg a kívánt metódusokat.


Tulajdonságok

DatabaseName: Az ellenőrizni kívánt adatbázis neve és elérési útja.
GlobalAction: A limbo tranzakciókat a tulajdonság segítségével tudjuk javítani. Lehetséges értékei:
  • CommitGlobal: A limbo tranzakciót véglegesíti az adatbázisban.
  • RollbackGlobal: Visszagörgeti a limbo tranzakciót.
  • NoGlobalAction: Nincs akció.
LimboTransactionInfo: Egy rekord, amely adatokat tartalmaz a limbo tranzakcióról.
LimboTransactionCount: A LimboTransactionInfo rekord egy tömbben helyezkedik el. A tulajdonság visszaadja a tömb elemeinek a számát.
Options: A komponens működését befolyásoló lehetőségek.
  • LimboTransaction: A limbo tranzakciók listájával tér vissza.
  • CheckDB: Ellenőrzi az adatbázisunkat, de az esetleges hibákat nem javítja ki. A ValidateDB lehetőséggel együtt használatos.
  • IgnoreChecksum: Nem végez semmilyen ellenőrző-összeg számítást a vizsgálat során.
  • KillShadows: Eltávolít minden hivatkozást, amelyek elérhetetlen árnyékfájlokra hivatkoznak.
  • MendDB: Előkészít egy hibás adatbázist a mentéshez: a hibás rekordokat eltávolítja.
  • SweepDB: Az adatbázisunk régebbi, nem használt rekordjait szabadítja fel, törli azokat.
  • ValidateDB: Ellenőrzi az adatbázis struktúráját.
  • ValidateFull: Komplex ellenőrzést hajt végre.
A fenti lehetőségek nem kombinálhatóak egymással tetszés szerint, mert egy időben csak egyfajta művelet hajtható végre. Így például nem használhatók együtt a MendDB és a ValidateDB lehetőségek. Azonban az IgnoreChecksum használható a SweepDB vagy a ValidateDB vagy a ValidateFull opciók valamelyikével.


Események

OnAttach: Az adatbázishoz kapcsolódáskor bekövetkező esemény.
OnLogin: A bejelentkezéskor aktiválódó esemény.


Metódusok

FetchLimboTransactionInfo: A limbotranzakciókról információt szolgáltató eljárás.
FixLimboTransactionErrors: A limbotranzakciós hibákat javító metódus.


Interbase cikksorozat