Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

Zugriff via Zeos auf SQLite DB von mehren Threads

  Alt 29. Jun 2012, 14:29
Datenbank: SQLite • Version: 3 • Zugriff über: Zeos
Hallo Leute,

in meiner Anwendung soll ein Hintergrund-Thread in regelmäßigen Abständen prüfen ob neue
Dateien/Daten vorliegen, diese sollen dann eingelesen und in der Datenbank gespeichert werden.

Der Anwender kann dann auf der Programmoberfläche nach diesen Daten suchen und sich anzeigen lassen.

In einem ersten Test habe ich eine "Connection" aufgebaut und sowohl der Hintergrund-Thread als
auch der Main-Thread (Programmoberfläche) greifen über diese eine Verbindung auf die Datenbank zu.
Jedoch scheint das zu Problemen zu führen da ich ab und zu Exceptions erhalte, ich vermute das sich
die Abfragen in die quere kommen. (Der Hintergrund-Thread benutzt Transaktionen zum Speichern der Daten).

Der zweite Versuch mit zwei getrennten "Connection" klappt auch nicht da wenn der Hintergrund-Thread
Daten in die DB speichert ist für den Main-Thread schein bar die DB geblockt. Was ja logisch wäre da
SQLite nicht Mulituserfähig ist.

Muss ich jetzt manuell regeln das sich die Abfragen nicht in die Quere kommen oder ist es doch möglich das
ein Hintergrund-Thread Daten in einer Datenbank speichern oder ändern kann während gleichzeitig der Main-Thread
Daten Abfragen kann. Der Main-Thread müsste nie Daten ändern oder hinzufügen können.

Mfg

TUX
  Mit Zitat antworten Zitat