Sziasztok!
Van egy programom, mely két telephelyen működik, Firebird / Interbase adatbázissal, 62 tábla, triggerek, generátorok, stb.
Ezek adatbázisának tartalmát szeretném egyesíteni, úgy, hogy ne legyen benne adatfelülírás, tehát a forrás adatbázisban a kulcsokat módosítsa, úgy hogy az egyesített adatbázis is megfelelően működjön.
Aki már foglalkozott ilyennel, annak segítségét kérem, hogy induljak neki.
Köszönettel:
Laci
- 6094 megtekintés
Hozzászólások
Van 2 ugyanolyan adatbázisod, és össze akarod őket rakni egy darab adatbázisba, és azt használnád a továbbiakban? (Nem biztos, hogy jól értem.)
A két adatbázis teljesen független egymástól, vagy vannak (lehetnek) közös pontok, mint pl. 1-1 vevő szerepel mindkét oldalon a vevőtörzsben vagy ilyesmi?
- A hozzászóláshoz be kell jelentkezni
A két adatbázisban vannak megegyező adatokat tartalmazó táblák, amiket nem kellene bántani, de vannak olyanok, melyeknél a forrás kulcsait, illetve másik tábla rá vonatkozó mezőit módosítani kellene, majd egy táblába pakolni.
Pl.: egy táblában vannak: megye + azonosító, város + azonosító - ezeket nem babrálom.
Viszont azt a táblát, ahol egy ember személyes adatai vannak, ott a cél adatbázis táblának a kulcsait békén hagyom, de megnézem, hogy melyik a legutolsó, a forrás adatbázis táblájában annyival módosítom a kulcsértékeket, majd összepakolom egybe a két táblát. Ütközés így nem lesz, mert nem lesz két olyan személy, akinek minden adata megegyezik.
- A hozzászóláshoz be kell jelentkezni
Az adatok konzisztens módosítását gondolom meg tudod oldani foreign key-k segítségével. (on update cascade)
Táblák szinkronizálására, ha nem akarsz saját programot írni én ajánlom az IBExpert-et (www.ibexpert.net). Nem olcsó, de nagyon megéri, ha egyébként is firebird adatbázisokkal dolgozol. Igazi svájci bicska. Van personal edition változata is, de az nem tudom mennyit ad a tábla szinkronizáló tudásából. A fizetős változat képes adatbázisokat akár tábla szinten is szinkronizálni, scripteket gyártani a különbségekből, stb., stb.
- A hozzászóláshoz be kell jelentkezni
Ezt nem próbáltam, értelem szerűen a fizetőssége miatt, de próbálkoztam az Interbase DataPump-pal, de azzal nem jutottam a kívánt végeredményre. Amúgy nem szoktam Firebird-del dolgozni, csak a munkahelyen jött egy ilyen igény, hogy jó lenne megcsinálni.
A DataPump-pal volt olyan baj, hogy a Foreign key-ek miatt nyavajgott, hogy loop-ot okoznak.
- A hozzászóláshoz be kell jelentkezni
Hát, a DataPump-ot sajnos nem ismerem.
- A hozzászóláshoz be kell jelentkezni
Az Interbase / Firebird ingyenes másolási lehetősége, de nekem csak átmozgatta az adatokat egyik adatbázisból a másikba, és törölte a cél adatbázis eredeti tartalmát.
- A hozzászóláshoz be kell jelentkezni
Az fbcopy-t ajanljak meg, talan jo lehet Neked.
http://www.firebirdfaq.org/faq20/
http://www.firebirdfaq.org/fbcopy.php
- A hozzászóláshoz be kell jelentkezni
Egy adat migrációnál használtuk a Talend Data Integration eszközt.
Biztos van jobb megoldás is. Kicsit félve ajánlom, mert a sebessége hagy kívánni valót maga után, meg nekem nem volt igazán kézreálló, de megküzdöttünk vele.
- A hozzászóláshoz be kell jelentkezni
Ezt nem ismerem, de ránézek. Köszönöm az ötletet.
- A hozzászóláshoz be kell jelentkezni