HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Oracle adattáblák mentése és visszaállítása


Példaprogram letöltése

5500 bájt

Készítünk egy komponenst, amely segítségével Oracle szerverünk megadott adattábláiról biztonsági mentést készíthetünk. A lementett adatok tömörítéséhez a WINRAR tömörítőprogramot használjuk.

A mellékelt példaprogram használatához a WINRAR programra is szükség van. A mellékelt példaprogram megnyitása előtt az OracleBackup.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot. A mellékelt példaprogramot a try – except blokkok miatt célszerű lefordítani és nem Delphi környezetből futtatni. A komponens nem használható olyan táblákkal, amelyek bináris mezőket tartalmaznak.
A komponenst Connection tulajdonságán keresztül kapcsolhatjuk hozzá egy ADOConnection objektumhoz. A komponens használatához aktív adatbázis kapcsolat szükséges.
Azoknak a tábláknak a nevét, melyeknek tartalmát el akarjuk menteni, fel kell sorolnunk a Tables property-ben. A táblák neveinek megadásánál meg kell adnunk a táblák elérési útját is. Pl.:
demo.price
A komponensnek az adatok elmentése és visszaállítása során szüksége van egy munkakönyvtárra, amelyet a TempDir property-ben adhatunk meg.
A komponens rendelkezik egy OnExecute eseménnyel, melynek tartalma minden egyes elmentett vagy visszaállított rekord esetén lefut.
TExecuteEvent = procedure(Sender: TObject; TableName: String) of object;
Az esemény TableName paraméterében az éppen feldolgozás alatt álló tábla nevét kapjuk meg.
Az adatmentést a Backup, a visszaállítást a Restore metódus végzi.
procedure Backup(FileName: String);
procedure Restore(FileName: String);
Mindkét metódusnak meg kell adnunk egy rar kiterjesztésű állományt. Adatmentés esetén a FileName paraméterben a létrehozandó RAR állomány elérési útját és nevét kell megadni. Visszaállításnál azt a rar állományt kell megadnunk, amelyből a biztonsági mentést vissza akarjuk állítani.
A Backup metódus működése
Egy for ciklus segítségével végigmegyünk a megadott adattáblákon, majd egy ADOQuery komponens segítségével, egyesével megnyitjuk azokat.
for i:=0 to FTables.Count-1 do begin
  Query.SQL.Clear;
  Query.SQL.Add('SELECT * FROM '+FTables[i]);
  Query.Open;
Létrehozunk egy új szöveges állományt, melynek első sorába elmentjük a tábla nevét.
AssignFile(f,FTempDir+IntToStr(i)+'.dat');
Rewrite(f);
WriteLn(f,FTables[i]);
Ezután végigmegyünk az adott tábla sorain, és az egyes értékeket „|” jellel elválasztva beírjuk a TEXT állományba.
while not Query.Eof do begin
  s:='';
  for j:=0 to Query.FieldCount-1 do
    s:=s+Query.Fields[j].AsString+'|';
  WriteLn(f,s);
Miután az összes megadott tábla tartalmát elmentettük, készítünk egy állománylistát a tömörítendő állományokról, melyet templist.txt néven eltárolunk.
Végül a WINRAR program segítségével tömörítjük az állományokat.
A Restore metódus működése
A Backup metódusban végrehajtott műveletsor ellenkezőjét kell végrehajtanunk.
Kicsomagoljuk a tömörített állomány tartalmát, majd mindegyiket megnyitjuk egyesével. Mentés során az állományokat folyamatos sorszámokkal láttuk el, ezért megnyitásukhoz használhatjuk a következő ciklust:
i:=0;
while FileExists(FTempDir+IntToStr(i)+'.dat') do begin
Az állomány első sorából kiolvashatjuk a tábla nevét.
A tábla teljes tartalmát töröljük.
Query.SQL.Add('DELETE FROM '+TableName+' WHERE 1=1');
A törlés után megnyitjuk az üres táblát, majd elhelyezzük benne a TEXT állományból beolvasott sorokat.
Tömörítés a Winrar-ral
A WINRAR programot parancssori üzemmódban használjuk fel.
A tömörített állományt az alábbi WINRAR szintaktikával hozzuk létre.
WINRAR m cél_állomány tömörítendő_állományok_listája
Az „m” azt jelenti, hogy a megadott állományok tömörítés után törlődnek. A cél_állomány a létrehozandó állomány nevét jelenti, míg az utolsó paraméterben egymás után, szóközökkel elválasztva, fel kell sorolnunk azokat az állományokat, amelyeket tömöríteni akarunk.
A kicsomagolás szintaktikája:
WINRAR e tömörített_állomány célkönyvtár

Cikksorozat

#IDKategóriaCikk címeSorozat
2591WindowsTippek és trükkök - RAS - Modem csengetési szám állítása1. rész
2622WindowsTippek és trükkök - Program futtatása más felhasználóként2. rész
2640WindowsA Windows ikonméretének megváltoztatása és Windows 2000 Asztaltémák3. rész
2657WindowsTippek és trükkök - Internet Explorer4. rész
2667WindowsTippek és trükkök5. rész
2684WindowsAlapértelmezések állítása, telepítési fájlok helye, intéző nézetek6. rész
2696WindowsBiztonsági trükkök7. rész
2702WindowsWindows XP trükkök8. rész
2729WindowsWindows 2000 és XP tippek, trükkök9. rész
2757WindowsRegistry trükkök10. rész
2784WindowsTippek, trükkök11. rész
2829WindowsTippek, trükkök12. rész
2889WindowsWindows XP tippek13. rész
2909WindowsTippek Windows XP-hez14. rész
2919WindowsWindows tippek15. rész
2924WindowsWindows tippek16. rész
2963WindowsWindows tippek17. rész
2973WindowsWindows Tippek18. rész
2981WindowsWindows tippek19. rész
2990WindowsTippek-trükkök20. rész
3027WindowsIIS tippek21. rész
3034WindowsWindows XP tippek-trükkök22. rész
3088WindowsWindows 2000/XP tippek, trükkök23. rész
3133WindowsWindows XP tippcsokor24. rész
3140WindowsWindows XP tippek, trükkök25. rész
3152WindowsXP és IIS tippek - trükkök26. rész
3158WindowsWindows XP tippek, trükkök27. rész
3168WindowsTippek, trükkök28. rész
3170WindowsRegistry trükkök29. rész
3179WindowsTippek, trükkök30. rész
3197WindowsWindows XP tippek, trükkök31. rész
3205WindowsTippek, trükkök32. rész
3214WindowsTippek, trükkök33. rész
3223WindowsTippek, trükkök34. rész
3233WindowsTippek, trükkök35. rész
3271WindowsTippek, trükkök36. rész
3307WindowsTippek, trükkök37. rész
3370WindowsTippek, trükkök38. rész
3399WindowsTippek, trükkök39. rész
3510WindowsTippek, trükkök40. rész
3611WindowsHardverrel kapcsolatos tippek, trükkök41. rész
3668WindowsRegistry trükkök42. rész
3711WindowsTippek, trükkök43. rész
3771WindowsTippek, trükkök44. rész
3801WindowsTippek, trükkök45. rész
3831WindowsTippek, trükkök46. rész
3891WindowsTippek, trükkök47. rész
3921WindowsTippek, trükkök48. rész
3981WindowsTippek, trükkök49. rész
4041WindowsTippek, trükkök50. rész
4071WindowsTippek, trükkök51. rész
4151WindowsTippek, trükkök52. rész
4171C#Tippek, trükkök53. rész
4211WindowsTippek, trükkök54. rész
4251WindowsTippek, trükkök55. rész
4281WindowsTippek, trükkök56. rész
3589DelphiTippek, trükkök57. rész
3718DelphiTippek, trükkök58. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 665. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |