Ik ben bezig een programma te herschrijven dat een synchronisatie moet uitvoeren met een database. Het origineel heeft deze synchronisatie verwerkt in een alternatief van het administratieprogramma, dat deze data gebruikt. Deze versie verschilt intussen enorm van de reguliere versie en 'kan' hierdoor ook niet meer worden bijgehouden.
Om nu echter met een uniforme versie van dit programma te komen, ben ik aan het proberen om een los programma te schrijven, teneinde deze synchronisatie te kunnen doen. Ik weet dat het schrijven van een dergelijke applicatie normaal een uitgebreid verhaal is met aanpassingen voor automatisch gegenereerde id's, concurrency, uitwisselingsproblemen van allerlei soorten, etc.
Zoals het nu staat volstaat het echter om de synchronisatie zo te gebruiken als eerder ook gedaan werd: we laten het delphi afhandelen door een 2tier client/server app te gebruiken. Ik heb de server geschreven die basically gewoon de benodigde tabellen aanbied via een dataprovider. Met de client kan ik die via een dcomconnectie weer uitlezen en synchroniseren.
Het onderdeel dat overblijft, en waar ik eigenlijk niet iets zinnigs over heb kunnen vinden (ik ben bang meer door het niet kunnen bedenken van een logische zoekterm dan de hoeveelheid data), is het versturen van de data die ik nu in clientdatasets heb, naar een database (we gebruiken interbase, voor zover relevant
). Misschien kan ik de benodigde gegevens een voor een uitlezen en vervolgens via een insert in sql per record invoeren. Dat laatste lijkt me echter ten eerste nogal omslachtig; nou zal het aantal records per tabel niet boven de 10k uitkomen, maar dit kan gewoon niet snel gaan. Ik hoop eigenlijk op een methode waarmee ik de data meteen kan laten doorstromen naar tabellen en dan die opslaan of iets dergelijks.
Dus om het simpel te formuleren: er moet data worden uitgewisseld tussen 2 tabellen. Als iemand een tut/howto/article of gewoon wat info heeft over hoe zoiets geschiet met twee lokale databases kom ik er hiervoor waarschijnlijk ook wel uit.
Alvast bedankt voor de aandacht
On a sidenote: is het ook mogelijk om een query te koppelen aan een clientdataset? Als ik dat via een datasource doe en geen database opgeeft bij de query, krijg ik de mededeling dat de database niet gevonden kan worden op de plaats waar de xml van de clientdatasource wordt neergezet. Er wordt volgens die beschrijving echter gezocht naar een paradox database met een db, dbf of een txt extensie.
Om nu echter met een uniforme versie van dit programma te komen, ben ik aan het proberen om een los programma te schrijven, teneinde deze synchronisatie te kunnen doen. Ik weet dat het schrijven van een dergelijke applicatie normaal een uitgebreid verhaal is met aanpassingen voor automatisch gegenereerde id's, concurrency, uitwisselingsproblemen van allerlei soorten, etc.
Zoals het nu staat volstaat het echter om de synchronisatie zo te gebruiken als eerder ook gedaan werd: we laten het delphi afhandelen door een 2tier client/server app te gebruiken. Ik heb de server geschreven die basically gewoon de benodigde tabellen aanbied via een dataprovider. Met de client kan ik die via een dcomconnectie weer uitlezen en synchroniseren.
Het onderdeel dat overblijft, en waar ik eigenlijk niet iets zinnigs over heb kunnen vinden (ik ben bang meer door het niet kunnen bedenken van een logische zoekterm dan de hoeveelheid data), is het versturen van de data die ik nu in clientdatasets heb, naar een database (we gebruiken interbase, voor zover relevant
Dus om het simpel te formuleren: er moet data worden uitgewisseld tussen 2 tabellen. Als iemand een tut/howto/article of gewoon wat info heeft over hoe zoiets geschiet met twee lokale databases kom ik er hiervoor waarschijnlijk ook wel uit.
Alvast bedankt voor de aandacht
On a sidenote: is het ook mogelijk om een query te koppelen aan een clientdataset? Als ik dat via een datasource doe en geen database opgeeft bij de query, krijg ik de mededeling dat de database niet gevonden kan worden op de plaats waar de xml van de clientdatasource wordt neergezet. Er wordt volgens die beschrijving echter gezocht naar een paradox database met een db, dbf of een txt extensie.
Localhost is where the heart is