AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQLite und konkurrierender Zugriff mit FireDAC
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite und konkurrierender Zugriff mit FireDAC

Ein Thema von Codehunter · begonnen am 26. Nov 2018 · letzter Beitrag vom 27. Nov 2018
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#1

SQLite und konkurrierender Zugriff mit FireDAC

  Alt 26. Nov 2018, 19:28
Datenbank: SQLite • Version: 3.25.3 • Zugriff über: FireDAC
Hallo!

Für ein kleines Spaßprojekt habe ich mir folgendes Konzept ausgedacht: Windows-Netz, Datenbankdatei auf dem Netshare und Clientanwendung auf mehreren Rechnern. Absichtlich ohne Datenbankserver. Das Ganze ist weder Last- noch Zeitkritisch. Die Anwendung funktioniert soweit, lesend wie auch schreibend. Im Grunde wie erwartet gibt es ab und zu wegen der konkurrierenden Zugriffe "Datebase-is-locked"-Fehler. Allerdings habe ich hier und da Hinweise gesehen, dass man SQLite durch verschiedene Connection-Parameter verträglicher machen kann für eine solche Konstellation. Nur hatte ich dabei bisher noch keinen Erfolg. Falls jemand Erfahrungen damit hat wäre ich für Tips dankbar. Alternativ zu FireDAC könnte ich auch mit wenig Aufwand auf ZEOS oder UniDAC wechseln.

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: SQLite und konkurrierender Zugriff mit FireDAC

  Alt 26. Nov 2018, 19:51
(Hervorhebung durch mich)

Zitat:
SQLite assumes that these system calls all work as advertised. If that is not the case, then database corruption can result. One should note that POSIX advisory locking is known to be buggy or even unimplemented on many NFS implementations (including recent versions of Mac OS X) and that there are reports of locking problems for network filesystems under Windows. Your best defense is to not use SQLite for files on a network filesystem.
Quelle: https://www.sqlite.org/lockingv3.html


und

Zitat:
A good rule of thumb is to avoid using SQLite in situations where the same database will be accessed directly (without an intervening application server) and simultaneously from many computers over a network.
Quelle: https://www.sqlite.org/whentouse.html
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#3

AW: SQLite und konkurrierender Zugriff mit FireDAC

  Alt 26. Nov 2018, 20:02
@Günther: Kenne ich. Die zitierte Seite weist aber selbst darauf hin, dass es inzwischen Verbesserungen gibt.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: SQLite und konkurrierender Zugriff mit FireDAC

  Alt 26. Nov 2018, 20:25
Uh, wenn du meinst?

Zitat:
All processes using a database must be on the same host computer; WAL does not work over a network filesystem.

Einer schreibt und alle anderen lesen jederzeit nur - Das würde ich mich vielleicht noch trauen. Aber mehr nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#5

AW: SQLite und konkurrierender Zugriff mit FireDAC

  Alt 26. Nov 2018, 20:28
Wenn ich es wüsste hätte ich ja nicht gefragt. SQLite ist hier auch nur ein Versuch. Die Grundidee soll eine Datenbank ohne Serverdienst sein. Der Name der DB ist verhandelbar
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: SQLite und konkurrierender Zugriff mit FireDAC

  Alt 26. Nov 2018, 22:11
Die Grundidee soll eine Datenbank ohne Serverdienst sein. Der Name der DB ist verhandelbar
Du wirst damit ein einigermassen stabiles System hinbekommen - egal wie der Name der DB lautet. Ein zuverlässig stabiles System aber nicht.

Wenn eingermassen reicht, dann bist du auf dem richtigen Weg.
Wenn du zuverlässig brauchst, dann verbrennst du gerade einfach nur Zeit.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz