Delphi - InterBase Express komponenscsomag

Interbase 23. rész

forráskód letöltése
A sorozat befejező részében tekintsünk át néhány olyan kérdéskört, amely fontos lehet az InterBase adatbázis-kezelő rendszer és az InterBase Express komponenscsomag használatakor. Vizsgáljuk meg, hogy milyen átalakításokra van szükségünk akkor, ha például egy Paradox táblákon alapuló programot szeretnénk átírni, vagy hogyan tudunk InterBase rendszerünkkel többrétegű alkalmazásokat készíteni. Programunk átírása

Ha programunk eddig BDE alapú adatbázisokat használt, áttérhetünk az InterBase alapú adatbázisok használatára. Ehhez az eddigi adatbázis-elérést biztosító komponenst az InterBase-es párjára kell kicserélni, valamint egy IBTransaction komponenst kell még a programunkhoz adni, és a megfelelő tulajdonságokat át kell állítani.

Adatbázisunkat is át kell alakítani. Ehhez azonban a Delphi nem kínál nekünk segédeszközöket. A Database Desktop vagy a Datapump nevű programok nem támogatják az InterBase 6 rendszer által igényelt fájlformátumot.
Így nekünk kell ezt az átkonvertálást elvégezni. Ehhez a TBatchMove komponens használható.


Többrétegű alkalmazás InterBase adatbázis-kezelő rendszerrel

Többrétegű alkalmazásokat, amelyek InterBase adatbázis-kezelőhöz kapcsolódnak, igen könnyű írni. Az ilyen alkalmazások legalább három részből tevődnek össze. Ezek az egységek más-más gépen futhatnak. Általában az elosztás a következő rendszert követi: az adatbázis tárolása és közvetlen kezelése az adatbázis-szerveren történik (ez az a gép, ahová az InterBase program szerver részét telepítették). Az alkalmazáslogika egy középső rétegben található, az egyes gépekre pedig csak a felhasználói felületet tartalmazó program kerül.
Amennyiben a középső réteget szeretnénk integrálni a felhasználói felület mellé, igen egyszerűen elkészíthetjük programunkat. Mindössze az IBDatabase komponensnél kell némi beállítást elvégezni. Ez a művelet abban az esetben is elvégezhető és alkalmazható, ha csak egy gépünk van. Ehhez azonban szükséges, hogy telepítsük a Windows hálózati kapcsolatokért felelős részét. A mellékelt példaprogram a harmadik cikk példája, csak most hálózaton keresztül kapcsolódunk az adatbázishoz.

Kattintsunk jobb egérgombbal az IBDatabase komponensre és válasszuk ki a Database Editor… menüpontot. A megjelenő szerkesztőablakban jelöljük be a Remote kapcsolót, majd adjuk meg gépünk nevét. Állítsuk be a hálózati protokollt (például TCP) és végül adjuk meg az adatbázis elérési útvonalát és nevét. Ezek után, ha a Test gombot megnyomjuk, akkor sikeres beállítások esetén a kapcsolatot a rendszer fel tudja építeni. Ha programunkat futtatjuk, akkor hálózaton keresztül érhetjük el a szervert (több gép esetén).


Példa 1

A program a PELDA1 nevű könyvtárban található
Ha az alkalmazáslogikát ki szeretnénk tenni egy önálló programba, például a szerver mellé, akkor már a MIDAS komponenseket is igénybe kell venni. Ebben az esetben a középső réteg kezeli az adatbázis-kapcsolatot, vezérli a bejelentkezéseket, a tranzakciókat és kezeli az adattáblák módosítását is.


Példa 2

A PELDA2 könyvtárban egy igen egyszerű kis programocskát találhatunk, amely a MIDAS komponensekkel valósít meg egy háromrétegű rendszert. A kiszolgáló a SERVER nevű, az ügyfél a CLIENT nevű könyvtárban található.

Először a kiszolgálót kell létrehozni. Ehhez egy új programra és egy Remote Data Module adatmodulra van szükségünk. Az adatmodulra helyezzük el az IBDatabase, az IBTransaction és az IBTable komponenseket, és állítsuk be a megfelelő tulajdonságaikat. A modulra helyezzünk egy DataSetProvider (MIDAS paletta) komponenst, amely elérhetővé teszi a táblát az ügyfelek számára. DataSet tulajdonságát állítsuk a táblára. Az Options property-nél most csak a poReadOnly tulajdonságot állítjuk be, így a kapcsolódó ügyfelek a táblában semmiféle módosítást nem hajthatnak végre. Az IBDatabase komponenst úgy állítjuk be a jelen példában, hogy ne kérjen a felhasználótól jelszót, valamint a kapcsolat automatikusan jöjjön létre, amikor a program elindul. Ha mindennel végeztünk, fordítsuk le és futtassuk a programot. A regisztráláshoz /regserver kapcsolót kell megadnunk a Run/Parameter menüpontban.
A szerver regisztrációjának megszüntetéséhez az /unregserver paraméterrel futtassuk az alkalmazást.

Az ügyfél elkészítéséhez egy új Form-ra, egy DCOMConnection, egy ClientDataSet és egy DBGrid komponensre lesz szükségünk. A DCOMConnection komponens ServerName tulajdonságánál ki kell választanunk az előbb létrehozott kiszolgálót: project2.ib6peldakiszolgalo
A ClientDataSet komponens RemoteServer tulajdonságánál állítsuk be a DCOMConnection1-et, míg a ProviderName tulajdonság a DataSetProvider1-re mutasson. A DBGrid DataSource tulajdonságát kapcsoljuk a DataSource1 komponenshez, amely a ClientDataSet komponensre mutat.

Ha programunkat futtatjuk, akkor először elindul a kiszolgáló, majd az ügyfél is.
Amennyiben olyan programot írunk, amelyben a felhasználó módosíthatja az adatokat, akkor fontos, hogy az IBTable vagy az IBQuery komponens CachedUpdate tulajdonsága igaz értékű legyen, majd a módosítások véglegesítése érdekében az ApplyUpdates metódust hívjuk meg.


Összefoglalás

InterBase 6.01 relációs adatbázis-kezelő rendszer a Borland (Inpris) cég terméke. A legnagyobb előnye a versenytársakhoz képest, hogy ingyenes változata is van, amely letölthető a cég honlapjáról. A termékből több operációs rendszerre (Windows, Unix, Solaris) is gyártanak változatokat, ezáltal az alkalmazásunk is képes akár más operációs rendszeren futó InterBase által szolgáltatott adatokkal dolgozni.
Az InterBase rendszer más hasonló programok képességeit is figyelembe véve, megállja helyét az adatbázis-kezelő rendszerek mezőnyében. Igen stabilis rendszerről van szó, amely képes igen sokrétű igények kielégítésére is. Nem véletlen, hogy több neves felhasználó is ezt a programot választotta.

Az új rendszer mellé új komponenseket is kapunk a Delphi-ben történő fejlesztés megkönnyítésére. A keresztplatformos lehetőségeket mi sem bizonyítja jobban, hogy ezek a komponensek telepíthetők az új Linuxos fejlesztőrendszer, a Borland Kylix alá.

Komponenseink segítségével igen könnyen és biztonságosan kapcsolódhatunk az adatbázisokhoz, kezelhetjük a tranzakciókat. Külön komponensek teremtenek lehetőséget szinte bármilyen SQL utasítás futtatására. Programunkból igen könnyen lehet a tárolt eljárásokat létrehozni, kezelni és futtatni. Egy komponens segítségével nyomon követhetjük az alkalmazás és a szerver közötti kommunikációt, amely a programozás utolsó fázisában lehet segítség a tökéletes kódok megírásában. Részletes információkat szerezhetünk adatbázisunk minden tulajdonságáról. Az IBX csomag újdonságai azok a komponensek, amelyek segítségével teljesen felügyeletünk alatt tarthatjuk a szerver működését: biztonsági másolatok készítése, felhasználók kezelése, a rendszer konfigurációja.

Kis munkával képesek vagyunk régebbi BDE alapú programjainkat átírni. Ezáltal több olyan szolgáltatást is igénybe vehetünk, amelyeket csak SQL-szerverek képesek nyújtani.



Interbase cikksorozat