Falls es nicht gehen sollte, was ich nicht weiß, hast du schon die Alternative in Betracht gezogen, die Datei temporär auf dem Gerät zu speichern und erst nach dem Download in die Datenbank zu schieben?
Ja. Ich mache das ja bereits so.
Das Anlegen in der
DB dauert aber einfach sehr lange:
Paremetrisiertes Insert-Statement ist prepared, alles innerhalb einer Transaktion geschrieben und am Ende commited.
Ich brauche einen Thread.
Wenn Multitreading nicht geht. Könnte ich immer noch einen Thread nutzen der alle
DB Zugriffe ausführt, während sich die APP aus einem Cache bedient.
Oder ich lagere die Tabellen, welche von solchen größeren Downloads betroffen sind in eine separate Datenbank aus, so dass der Rest der App noch Zugriff auf die Datenbank hat.
Oder ich versuche dafür zu sorgen das wirklich nur die Differenz der Datenbestände zwischen App und Server runtergeladen und in die
DB eingepflegt wird, dann müsste ich allerdings,vermutlich serverseitig etwas ändern... und das könnte aufwändige Updates der Server bei den betroffenen Kunden nach sich ziehen...
[Edit]
Ich habe das Hauptproblem(ein Programmierfehler) aber gelöst. Es arbeitet jetzt flott, aber eben nur auf der kleinen Testdatenmenge. Für große Datemmengen wäre es immer noch wünschenswert einen Hintergrundthread zu haben.