Delphi - TIBSQLMonitor komponens

Interbase 10. rész

forráskód letöltése
A sorozat jelen részében megismerkedünk az IBSQLMonitor komponenssel, amely jól használható arra, hogy figyelemmel kísérjük, helyesen kommunikál-e alkalmazásunk az SQL szerverrel, de arra is jó, hogy megnézzük mi zajlik a színfalak mögött. A Delphi alkalmazások teszteléséhez is nyomkövetést kell használnunk az ügyfél-kiszolgáló rendszerek tanulmányozásához. Különösen fontos, hogy nyomon kövessük az információk, adatok áramlását. Erre használható program például az SQL Monitor segédprogram, amely viszont csak a Delphi Enterprise változatához jár, ráadásul az InterBase Express komponensekre épülő alkalmazásokkal nem is működik együtt.

Programjainkban beágyazva használhatjuk helyette az IBSQLMonitor komponenst, amellyel saját naplózást végezhetünk. A komponens használatakor fontos a végrehajtás ideje, és a műveletek száma is támpontot adhat alkalmazásunk sebességének és hatékonyságának becsléséhez. Így a komponens segítségével meghatározhatjuk, hogyan lehetne optimálisabb alkalmazást készíteni. A beérkező információk helyes értelmezéséhez viszont nagy tapasztalat és biztos SQL tudás kell.

A komponens tulajdonságai

TraceFlags: E tulajdonság segítségével beállíthatjuk, hogy milyen típusú adatbázis-műveletekről kapjunk információt. A lehetséges beállítások:
  • tfQPrepare: Engedélyezi az SQL utasítások nyomkövetését minden alkalommal, amikor azok előkészítése folyik.
  • tfQExecute: Nyomon követi a kiszolgálónak elküldött összes SQL utasítást.
  • tfQFetch: Információt kaphatunk arról, hogy a kiszolgáló milyen adatokat továbbít az adatokkal.
  • tfError: A kiszolgáló hibaüzeneteiről szerezhetünk információt.
  • tfStmt: Az SQL utasítás előtti műveletekről tájékoztat: foglalás, előkészítés és bemeneti elemzés.
  • tfConnect: Megmutatja a kapcsolódási és szétválási eseményeket.
  • tfTransact: Tranzakciók nyomkövetése.
  • tfBlob: Adatokat mutat a BLOB mezőkről.
  • tfService: Itt az InterBase Admin paletta komponenseit érintő kommunikáció információit figyelhetjük.
  • tfMisc: Azok az információk is megjelennek, amelyek a fenti lehetőségek egyikébe sem tartoznak.
Nyomkövetés csak abban az esetben lesz, ha minden olyan komponensnél, amelyik rendelkezik TraceFlags tulajdonsággal, a fenti értékek közül beállítjuk azokat, amelyek számunkra érdekesek.

A komponens eseményei:
OnSQL: Ez az esemény aktiválódik, amikor a komponenshez valamilyen információ érkezett. Az információ szövegét az EventText paraméter tartalmazza.

A komponens használata

1. A Form-ra helyezzünk egy IBSQLMonitor komponenst.
2. Rakjunk a Form-ra egy Memo komponenst is.
3. Az IBSQLMonotor OnSQL tulajdonságához adjuk a következő kódot:
Memo1.Lines.Add(EventText);
4. Állítsuk be a megfelelő TraceFlags tulajdonságokat, majd fordítsuk le a programot.

Ezzel a módszerrel képesek vagyunk más IBX alkalmazások nyomkövetésére is. Természetesen a másik alkalmazásban a megfelelő komponenseinek TraceFlags jellemzőit be kell állítani.

Interbase cikksorozat