# SQLJet (SQLite) - Mehrbenutzerzugriff auf Datenbank handhaben



## Guest89 (20. Jan 2011)

Hallo,

ich werde in einem Projekt SQLJet (SQLJet*::*Pure Java SQLite*::*Tutorial) - eine SQLite Datenbank einsetzen. Ein Programm öffnet die Datenbank und stellt etwas mit den Daten an (lesen, schreiben). Danneben würde ich es gerne auch ermöglichen, dass andere Benutzer gleichzeitig auch diese Datenbank nutzen (minimum lesen).

Nun habe ich es getestet mit zwei Programmen (SQLJet Browser), die ein und die selbe Datei gleichzeitig öffnen. Es lassen sich beide Datenbanken öffnen und der Inhalt darstellen. Wie es mit dem Schreiben zu geht weiß ich nicht. Nur, wie sorge ich dafür, dass es keinen Datenschrott gibt, wenn mehrere User gleichzeitig an einem Datensatz schrauben?

Bei M$ Access gibt es ja diese mdb-Datei, die ja nichts anderes als diese SQLite-Datei ist und die Daten speichert. Und dann hat Access noch eine ldb-Datei, die Informationen über das Record Locking speichert (ACC: Introduction to .ldb Files (95/97)).

Wie kann ich mir selber so eine Lösung ausarbeiten? Könnte mir das jemand mal kurz erklären, wie ich das am Besten mache oder wie ich das am Besten bei Access abschauen kann?

Beste Grüße und vielen, vielen Dank vorab,
Max


----------



## Herr K. (22. Jan 2011)

Schau einfach mal bei SQLite nach SQLite Frequently Asked Questions

An sich gibt es nur zwei Möglichkeiten, entweder sorgt das DBS dafür, dass es zur Sicherstellung kommt oder Du setzt etwas oben rauf, dass das sicherstellt. Letzteres könntest Du z.B. durch einen Proxy erreichen, der Anfragen entgegen nimmt und die Sperren vornimmt (der Aufwand ist hier nicht zu unterschätzen). 
SQLite verwendet selbst Schreibsperren auf der Datei, es sollte also (bis auf den geschilderten Fall im Link) nicht zu Problemen kommen.


----------

