Firebird data pump

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

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 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.

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.

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.

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.