Sorry, aber diese Konzepte waren schon bekannt, als ich meine WaWi vor 12 Jahren mit Interbase 5.6 produktiv schaltete, die auch heute noch entwickelt wird (jetzt aber mit
FB 1.5).
Weitere Datenbanken zu benutzen, halte ich nicht für sinnvoll: in DB3 kommt eh alles wieder zusammen.
Was hälst Du davon, einen Generator IMPORT zu benutzen, der den Status des Imports angibt?
Ist IMPORT = 0, dann kann man in der Client- Anwendung normal arbeiten. Bei Inserts wird IMPORT=1 gesetzt, bei abgeschlossener Transaktion wieder auf 0. Arbeitet Dein Dienst, dann setzt er als erstes IMPORT=1 (wenn IMPORT=0 ist), ansonsten wird eben eine Zeit gewartet. Sobald IMPORT=1 gesetzt werden konnte, arbeitet der Dienst einen Teil der Import-Datei ab (vielleicht auch nur 1 Zeile). Anschließend setzt er IMPORT=0, damit am Client zwischenzeitliche Inserts möglich sind. Stellst Du mit IMPORT den prozentualen Fortschritt des Import-Dienst dar, so kannst Du sogar im Client den Status bekannt geben (wenn gewünscht).
Das ist nur ein Roh- Konzept eines partnerschaftlichen und nicht blockierenden Dienstes, wobei die Client-App. die Priorität behält. Natürlich lässt sich das auch anders realisieren, aber Du wolltest es ja "schnell und schmutzig".
Deine Überlegung
FB zu ersetzen, bringt m.E. nicht viel. Gewinnen könntest Du, indem Du moderne
API-Komponenten einsetzt. Ich benutze von Anfang an IBObjects, das seinerzeit einzigartig war. Du hast heute die Wahl zwischen weiteren Bibliotheken, die alle ihren Charme haben.
--
Andreas