Keskustelut - Tietokannat - Kahden paradox-kannan yhdistäminen yhdeksi?


sam76 13:50 28.10.09 
Appiukko paiskasi taas sellaisen nakin, että päätin kysäistä viisaimmilta vähän neuvoa.

Elikkä nakittajalla on käytössä desktop-potilastietokanta-ohjelma. Ohjelma on siis asennettuna kahdelle koneelle ja molemmisssa on on omat tiedot(kannat). Nyt kuitenkin pitäisi saada nämä kannat yhdistettyä yhdelle koneelle. Miten siis saan nämä *.db ja *.mb-tiedostot yhdistettyä ja tarvitsenko tähän toimintaan jonkinlaisen ohjelman(mielellään ilmaisen)? Ja tarvitseeko näitä *.px, *.XG0 ja *.YG0 tauluja kopioda myös?

Jazmo 14:15 28.10.09 
En osaa auttaa, mutta toivotan onnea. Muistaakseni .px tiedosto on indeksi ja nuo muut sitten jotain blobbeja tms. Periaatteessa tarvitset kaikkia.
sam76 22:48 28.10.09 
Tänks, onnea tarvitaan aina:D. Sen verran olen tässä saanut selville että *.db sisältää varsinaisen tiedon, *.mb "memo"-tyyppisen data ja sitten nuo viimeiksi mainitut ovat erilaisia indeksejä (primääri jne). Jossain oli maininta jostain desktop database??-nimisestä ohjelmasta jolla yhdistäminen onnistuisi. En ole kuitenkaa ks. ohjelmaa vielä löytänyt, joten jatketaampa metsästystä.
editoitu: 09:25 29.10.09
Jari_Kettunen 09:22 29.10.09 
Homman voit tehdä Database Desktopilla, mutta ongelma on kantojen yksikäsitteiset avaimet, joten suora yhdistäminen ei onnistu. (sillä avain 1 löytyy molemmista kannoista)
Todennäköistä vielä saattaa olla että kannoissa ei ole taulukohtaisia yksikäsitteisiä tietoriippumattomia avaimia vaan yksikäsitteisyys on tehty esim. asiakasnumerolla.
eli kannoissa on loogisia päällekäisyyksiä asiakasnumero: kannan a asiakas 1 on eri henkilö kuin kannan b asiakas 1.

Jos kantojen viiteavain päivitykset on kohdallaan voi homma onnistua samalla periaatteella kuin muissakin relaatiotietokannoissa sql-lausein. Vaatii mm. taulujen rakenteiden muuttamista niin että autoincrement kentät käännetään pois päältä. Database Desktopista löytyy Restructure jolla kannan taulujen rakenteita voidaan muuttaa. Päivitetään liitettävän kannan avainkentien arvot alkamaan a kannan max(id) +1 arvosta SQL-lauseella. Jos viite avaimet on kohdallaan niin silloin päivttyvät myös lapsitaulujen avaimet. Database Desktopista löytyy add toiminto jolla voi sitten liittää taulut. Lopuksi laitetaan autoincrementit päälle.

Helpoin olisi kuitenkin tehdä homma ohjelmalla. Tosin ohjelmointivälineistä Paradoxia tukee kunnolla vain Delphi ja me Delphi koodarit taidamme olla kuoleva laji.
sam76 10:08 30.10.09 
Kiitos ohjeistuksesta.

Vaikuttaisi siltä, että yksikäsitteisenä avaimena toimii jokaisella asiakkaalle henkilökohtainen tunnus(hetu), joten sen puolesta siirron pitäisi onnistua.

Pitäne viikonloppuna perehtyä aiheeseen ihan tosissan mutta joka tapauksessa tämä ei vaikuta aivan läpihuutojutulta..

Katsotaan kuis äijän käy..:/