Delphi - IBDatabaseInfo komponens használata

Interbase 13. rész

forráskód letöltése
A sorozat most következő fejezetében tekintsük át, hogyan tudunk fontos információkat szerezni az adatbázisokról. Ehhez a feladathoz használjuk a TIBDatabaseInfo komponenst, majd egy példaprogram segítségével nézzük meg, hogyan használhatjuk. A TIBDatabaseInfo komponenst használhatjuk adatbázisunk fontos információinak meghatározásához. Ilyenek például a verziószáma, a neve, memóriahasználata, és az adatbázisban végzett többféle művelet száma.

Nézzük meg a komponens tulajdonságait a visszaadott információ típusa alapján csoportosítva.

Információk az adatbázisról:
  • Allocation: A lefoglalt lapok száma.
  • BaseLevel: Az adatbázis verziószáma.
  • DBFileName: Az adatbázisfájl neve.
  • DBImplementationClass: Az adatbázis implementációs osztályok száma.
  • DBImplementationNo: Az adatbázis implementáció száma.
  • DBSiteName: Az adatbázishely neve.
  • DBSQLDialect: Az adatbázis SQL „nyelvjárása”.
  • NoReserve: Ha értéke 0, akkor azt jelzi, hogy hely van lefoglalva minden lap számára a mentéshez; ha értéke 1, akkor nincs hely lefoglalva.
  • ODSMajorVersion: Az „on disk structure ” (ODS) a lemezen lévő szerkezet fő verziószáma.
  • ODSMinorVersion: Az ODS mellék (al) verziószáma.
  • PageSize: A lapok mérete bájtokban megadva.
  • Version: Az adatbázis verziója szöveges információként.
Környezeti jellemzők:
  • CurrentMemory: A szerver használatban lévő memóriája bájtokban.
  • ForcedWrites: Ha értéke 0, akkor aszinkron írási módot használ az adatbázis; ha 1, akkor szinkron (egyidejű) írási módot használunk.
  • MaxMemory: A legnagyobb memória, amelyet azonos időben használtunk, az első bejelentkezés óta a szerver jelenlegi futása alatt.
  • NumBuffers: A jelenleg lefoglalt memóriabufferek száma.
  • SweepInterval: Az InterBase rendszer az adatok biztonságos tárolása érdekében az adatok régi értékét is nyilvántartja. Ha törlünk egy rekordot, akkor az még fizikailag megtalálható lesz az adatbázisban, vagy ha módosítunk egyet, akkor a régi értékek is eltárolódnak. Beállíthatjuk azt a tranzakciószámot, amely után a rendszer automatikusan egy takarítást végez, és az ilyen adatokat törli az adatbázisból.
  • UserName: Egy listát ad visszatérési értékként, amelyik az adatbázishoz csatlakozott felhasználók nevét tartalmazza.
Végrehajtási adatok:
  • Fetches: A gyorsítómemóriából történt olvasások száma.
  • Marks: A gyorsítótárban végrehajtott írási műveletek száma.
  • Reads: Azon adatbázislapok száma, amelyekről az adatbázis az első csatlakozás óta olvasott.
  • Writes: Azon adatbázislapok száma, amelyekre az adatbázis az első csatlakozás óta írt.
Adatbázis-műveletek száma:
  • BackoutCount: Egy rekord-verzió eltávolításának a száma.
  • DeleteCount: Az utolsó bejelentkezés óta végzett törlések száma.
  • ExpungeCount: Egy rekord, és az összes elődjének eltávolításának a száma.
  • InsertCount: Az utolsó bejelentkezés óta végzett beszúró műveletek száma.
  • PurgeCount: Az összes olyan rekord száma, amelyet valamilyen ok miatt törölni kell.
  • ReadIdxCount: Az indexek használatáról szolgáltat információt.
  • ReadSeqCount: Az adatbázis táblákból való közvetlen olvasásaink száma.
  • UpdateCount: Az utolsó bejelentkezés óta végzett frissítések száma.
A komponens használatához dobjuk a Form-ra, és helyezzünk el még egy adatbázis- és egy tranzakció-komponenst is. Állítsuk be a tranzakció- és az adatbázis-komponens megfelelő tulajdonságait, majd kapcsolódjuk az adatbázishoz. Helyezzünk a Form-ra egy nyomógombot, amelyre kettőt kattintva a kódszerkesztőbe írhatjuk a megfelelő információk megjelenítését biztosító programsorokat. Íme egy rövidke kis példa, amely a bejelentkezett felhasználók nevét, és az adatbázis elérési útját szolgáltatja:
procedure Form1.Button1Click( Sender: Tobject);
var
  i:   byte;
begin
with IBDatabaseInfo1 do begin
  for i:=0 to UserNames.Count-1 do
    Memo1.Lines.Add( UserNames[i]);
  Memo1.Lines.Add(DBFileName);
End;
End;


Interbase cikksorozat