Hallo,
ich habe einen (embedded) Web-Server (wird wegen der Umgebung regelmäßig neu gebootet) und einige Web-Clients, die dauerhaft den AJAX-Server suchen.
Nun habe ich folgendes Problem:
Beim ersten Starten muß ich jedes Mal in der RAMDisk eine SQLite3-Datenbank erzeugen und aus verschiedenen Quellen mit Daten füllen (so ne Art Initialisierung). Während also das PHP des einen Web-Clients eben diese DB einrichtet und mit Grunddaten füllt (da war ja noch keine DB-Datei vorhanden), wollen die anderen in der Datenbank lesen (DB-Datei ist ja nun vorhanden, also sollte alles drinstehen) und finden die gesuchten Daten nicht.
Also möchte ich während der Initialisierung die Datenbank für alle Selects sperren.
Habe mal gehört, daß es mit „BEGIN EXCLUSIVE TRANSACTION“ möglich sein soll, aber my_PDO->exec(„BEGIN EXCLUSIVE TRANSACTION“) erzeugt mir nur einen Fehler.
Gibt es eine Möglichkeit, diese DB exclusiv zu nutzen?
Derzeit nutze ich Plan B: um lesend zugreifen zu können, muß sowohl die DB-datei, als auch eine 2. Datei vorliegen, welche am Ende der Einrichtung erzeugt wird. (aber das gefällt mir nicht wirklich)
Gruß
Winni