Hallo zusammen, ich rühre für dieses hübsche kleine Programm gerade auch im Bekanntenkreis die Werbetrommel und bin gerade mit einer Frage konfrontiert worden, für die ich mir hier gerne Input einholen würde... da ich ähnliche Fälle im Forum schon gesehen habe, aber nicht genau das gleiche.
Konkret geht es um die Nutzung mal im Büro und mal von unterwegs nach Möglichkeit mit der Datenablage auf einem zentralen Synology NAS Fileserver.
Im Büro wäre der PC über LAN mit dem Synology NAS verbunden und hat ein Netzlaufwerk also zb x:/Fibu/
Von unterwegs wäre dann eine Einwahl über VPN und dann ebenfalls verbinden vom netzlaufwerk über Script auf dem Laptop
Jetzt wäre nur die Frage: wie genau muss ich die Software installieren (und zwar auf dem PC und dem Laptop) damit ich abwechselnd auf denselben Datenbestand zugreifen kann.
Ich gehe davon aus, die Software wird auf jedem Gerät vollständig installiert und nur das Arbeitsverzeichnis müsste dann auf das Netzwerklaufwerk x .... bin ich bis dahin richtig?
Zusatzfrage wäre natürlich: muss ich mit einem timeout rechnen, oder ist die Software da einigermaßen großzügig, wenn die Verbindung eben nicht so super schnell ist?
WLAN DSL VPN DSL NAS
Freue mich auf Input und Feedback
liebe Grüße Mike
Ich kann Dir nur meine Erfahrung unter Linux Mint 22 und einer Synology weitergeben. Auf der Synology läuft Maria DB und es ist eine Datenbank für Fakturama angelegt. Damit die Datenbank vernünftig läuft, benötigst Du für jeden Rechner einen eigenen Benutzer der Datenbank. Bei der Installation von Fakturama gibt es einen Einrichtungsdialog, wo ich im lokalen Neztwerk die IP der Synology und die Daten des Benutzers eingebe (Haken bei verwende Standateinstellung entfernen). Das sollte auch über VPN möglich sein, wenn der Router alle Ports zur Datenbank freigibt.
Im Handbuch ist das beschrieben. An besten mit 2 Rechnern im lokalen Netzwerk testen. Wenn der Zugriff passt, Versuch über VPN.
https://dms.fakturama.info/out/out.ViewFolder.php?folderid=40
VG und Erfolg
Linux Mint 21.3 Virginia, Fakturama 2.2.0 SNAPSHOT, Build-ID:20250105-1416, Java 17.0.2 😀
Hallo Eismann,
vielen Dank für deine Antwort, die mich zumindest schon mal bezüglich eines Denkfehlers weitergebracht hat.
Ich hatte vollkommen ausgeblendet dass die Datenbank natürlich als aktiver Dienst unter Windows läuft und sich zwar irgendwo ihre Dateien physikalisch auf ein Laufwerk legt aber wahrscheinlich eben auf beiden Geräten als Dienst laufen muss und die datendatei dann nicht alleine von dem netzwerklaufwerk holen kann sondern tatsächlich den datenbankdienst ebenfalls auf dem Server braucht.
Damit erübrigt sich zumindest die falsche Idee, es zweimal auf PCs zu installieren und das Arbeitsverzeichnis ins Netzwerk zu legen ...
ich werde wohl definitiv auch das Datenbanksystem dann auf den Server legen müssen und kann es nicht auf zwei verschiedenen PCs als Dienst laufen lassen und einfach die Datenbasis aus dem Laufwerk x abholen.
Vielen Dank für den Input der meine eigentlich schlechte Frage durch eine bessere Antwort wesentlich ergänzt hat jetzt kann ich ein bisschen an einem testsystem arbeiten und dann beim Kollegen versuchen einzurichten.
Grüße
Mike
Das würde mich jetzt mal interessieren. Warum benötigt man für jeden Rechner einen eigenen Benutzer der Datenbank? Was passiert, wenn man für jeden Rechner den gleichen Benutzer angibt?
Hallo Udo, zumindest das kann ich beantworten ^^
Bei Dateien ist ein gleichzeitiger Zugriff sehr schlecht.
Darum meckert zb MS Office wenn eine Datei schon geöffnet ist und bearbeitet wird.
In einer FiBu mit DB können grds mehrere Leute parallel arbeiten, so lange nicht an der selben Rechnung bzw Auftrag etc zeitgleich. Die Trennung erfolgt dann über die User-ID.
Bei Einzelplatzlösung ist es eine DB für 1 User, wenn 2 Leute dann müssen es 2 User für die 1 gleiche DB sein.
LG
Mike
Ich habe fast keine Erfahrung damit, denke aber, wenn zur gleichen Zeit der selbe Benutzer (also von 2 Rechnern) am gleichen Datensatz arbeitet, wird die Datei nicht gesperrt und es könnten Daten verloren gehen. Ob der Zugriff 2 X mit dem selben Benutzer möglich ist, oder ob Maria DB nur einen Zugriff erlaubt???
Im Netzwerk großer Firmen hat jeder Mitarbeiter seinen eigen Zugang. Das hat sicher einen guten Grund.
VG Guntram
P.S. Den Zugang mit 2 Benutzern auf die selbe Datenbank von Fakturama habe ich ausprobiert und es funktioniert. Nach speichern eines Vorgangs taucht
es sofort beim 2. Nutzer auf.
Linux Mint 21.3 Virginia, Fakturama 2.2.0 SNAPSHOT, Build-ID:20250105-1416, Java 17.0.2 😀
@ Eismann ... habe gerade auf der NAS in Maria DB 2 User angelegt, muss im Handbuch nur noch finden wie ich die DB anlege, benenne und ggf per SQL füttere .... (kannst du mir da Input aus deinem System geben?)
@UDO je nach Betriebssystem gibt es oder gibt es kein automatisches Lock auf Dateien die in Verwendung sind.
In einer Datenbank (die ja theor. eine Datei ist) liegen die Daten quasi in Tabellenform in Zeilen und Spalten.
Da kann dann gezielt jeweils ein Eintrag geblockt sein von einem user und ein anderer user kann aus dem Rest etwas nutzen.
(Mein ex Informatik&DB Prof würde sich bei der Vereinfachung aus dem Kellerfenster werfen..)
Auf der Synology in PHPMyAdmin als root einloggen und eine leere Datenbank anlegen. Anschließend die Rechte für die 2 Nutzer freigeben. Fakturama starten,
Pfad zum Server und Port, Benutzer und Passwort angeben. Es dauert eine Weile bis Fakturama die Datenbank angelegt / gefüllt hat. Die Synology lässt die Platten schnurren ;).
Linux Mint 21.3 Virginia, Fakturama 2.2.0 SNAPSHOT, Build-ID:20250105-1416, Java 17.0.2 😀
Damit die Datenbank vernünftig läuft, benötigst Du für jeden Rechner einen eigenen Benutzer der Datenbank.
Ein Datenbanknutzer regelt nur die grundlegenden Zugriffsrechte zum Datenbanksever, um eine evtl. erforderliche Sperrung von Datensätzen muss sich die jeweilige Anwendung selbst kümmern. Daher Bitte beachten das Fakturama bis dato noch über keinerlei Mehrplatzfähigkeit verfügt. Bei der Nutzung der selben Datenbank von verschiedenen Endgeräten aus, sollte daher immer nur eine Installation aktiv sein! Ansonsten kann es zu einem fehlerfaften Datenbestand kommen. Auch wenn man für Fakturama mehrere Datenbanknutzer anlegt, ändert sich daran nichts. Es ist also völlig unnötig in Maria DB mehrere Nutzer an zu legen, selbst wenn man sich von unterschiedlichen Geräte gleichzeitig am Server anmeldet. Sinn macht es nur wenn man für die Nutzer unterschiedliche Rechte vergeben möchte.
Fakturama 2.1.3 auf Win10 pro x64 an MariaDB auf ner DiskStation
Hmm, das klingt natürlich nicht so gut. Das würde bedeuten, dass wenn man eine Installation auf mehreren Rechnern hat, die auf die gleiche db zugreifen, sich immer absprechen muss, wenn einer mit fakturama arbeitet, dass da nicht noch ein zweiter dazwischenfunkt.
Aber da frage ich mich: Was kann schlimmstenfalls passieren?
Mein vermutetes Szenario wäre: Zwei arbeiten gleichzeitig mit fakturama. Da werden nicht zwei die gleiche Rechnung schreiben wollen. Wenn also jeder eine andere Rechnung schreibt, dann werden diese nacheinander in die db geschrieben, ergo: Nichts Schlimmes passiert. Sicher bin ich mir da aber nicht. Wie sieht es z. B. mit der automatischen Rechnungsnummer aus? Kann es z. B. sein, dass dann beide die gleiche Rechnungsnummer kriegen?
Zweites Szenario: Die Adresse eines Kunden ändert sich. Beide Mitarbeiter ändern die aber gleichzeitig. Der erste überschreibt den alten Datensatz, während der zweite noch daran arbeitet. Anschließend speichert auch dieser ab und überschreibt den Datensatz des ersten Mitarbeiters.
Beides nicht schön, aber auch nicht schlimm. Ich frage mich: Gibt es ein Szenario, bei dem die db zerschossen wird oder sonstwie unbrauchbar?
Keine Ahnung ob das so stimmt aber ich werfe mal die Nummernkreise in Raum.
Aktuelle Rechnung 0001
Nutzer A erstellt eine neue Rechnung 0002 gleichzeitig erstellt Nutzer B auch eine neue Rechnung und erhält auch die 0002 als Rechnungsnummer. Nutzer A speichert und druckt die Rechnung, anschließen speichert Nutzer B seine Rechnung. Nutzer B überschreibt somit die Rechnung von Nutzer A
Wie ich es verstehe werden die Nummern erst beim speichern erhöht.
Gruß Axel
Moin, ich klinke mich mal hier in die Diskussion mit ein :-). Also generell geht das mit der Mehrplatz-Installation. Das Arbeitsverzeichnis kann dann auf einem Server liegen, wenn es dort per Laufwerkspfad erreichbar ist. Da kann auch die Datenbank liegen (muß nicht zwangsläufig eine MySQL/MariaDB sein). Fakturama muß dann auf jedem Rechner, von dem aus es benutzt werden soll, mit dem entsprechenden Arbeitsverzeichnis konfiguriert werden (das wird ja beim ersten Start abgefragt).
Man muß aber wirklich darauf achten, daß immer nur *ein* Nutzer aktiv das Programm verwendet, weil es sonst zu Inkonsistenzen kommt (wie das hier schon anklang). Fakturama ist derzeit nicht mehrbenutzerfähig.
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Hi @rheydenr Ralf,
was hälst du von folgender Idee:
Das mit dem nur "ein Benutzer" könnte man doch recht einfach mit einer [user]-[rechner].lock-Datei im Datenverzeichnis erzwingen.
Sofort beim Programmstart prüfen ob vorhanden und falls ja mit entsprechender Meldung, noch bevor die DB überhaupt angesprochen wird, das Programm beenden ("Daten werden gerade von [user] auf [rechner] verwendet").
Falls keine .lock-Datei da ist eine erzeugen und beim Programmende wieder löschen.
Es gibt dann zwar theoretisch noch ein minimales Zeitfenster für gleichzeitige Nutzung falls zwei User das Programm wirklich gleichzeitig starten, aber das dürfte in der Praxis vernachlässigbar sein.
Gruß
Olaf
ich glaube wir kommen hier auf zwei "getrennte zusammenhängend" Sachverhalte beim Thema Mehrplatz-Nutzung.
a) mehrere User und das Handling bzw (b)Locking einzelner Datensätze um Überschreibung zu verhindern
... inkl der Frage einer dann notwendigen Änderung der Vergabe von Laufnummern ab Beginn Formularaktivity statt erst beim speichern (was umgekehrt zu verloerenen Nummern führen kann wenn angebrochen wird)
b) die Frage der Ablage der Daten in einer (File)Datenbank die als Datenbankdienst laufen muss.
Das wäre zB problematisch wenn der MySQLDämon auf einem PC läuft und de DB verwaltet, der andere PC bei identischer Installation entweder eine eigene Instanz von MYSQL hat und dann eine eine eigene DB aufmacht --> ganz schlecht
oder der andere PC versucht auf die DB auf dem ersten PC zuzugreifen und der gerade nicht im Netz ist --> auch mies
oder ob die DB auf einem Db Server liegt (ServerPC, NAS Synology QNPA etc oder RasPi mit mysql mariaDB) die dann per DNS oder fixer IP erreichbar sein müssen (bzw im VPN)
In Summe verstehe ich, warum sich selbst Haufe Lexware davor gedrückt hat.
Deren Lexware BüroEasy ist zwar Mehrplatz aber als zwei getrennte nicht verbundene Einzelplätze ohne gemeinsame Datenbasis. Aus Db Sicht wäre für Fakturama vermutlich hier dann etwas wie DB Transaction (vgl ibm db2 oracle etc) nötig und ein lock/block von pre-aquiverd Laufnummern (Kopfweh!!)
Gruß
Mike
Wenn ich das richtig verstehe, dann heißt das: Wenn mehrere Fakturama-Installationen auf die gleiche db zugreifen (was möglich ist), dann sollte sichergestellt sein, dass immer nur ein Benutzer fakturama gleichzeitig gestartet hat.
Um die Idee von @oko aufzugreifen, könnte man als kleines Workaround eine Batch/bash Datei erstellen, die das macht. Unter Windows sähe das dann so aus:
Datei fakturama-mit-lock.bat:
@echo off set lockdatei=C:\fakturama\.lock set fakturamaexe="C:\Program Files\Fakturama2\Fakturama.exe" IF EXIST %lockdatei% ( echo Kann Fakturama nicht starten. Jemand anderes benutzt es schon! pause ) ELSE ( echo Kann Fakturama starten. Erstelle jetzt die lock-Datei pause copy NUL %lockdatei% pause %fakturamaexe% del %lockdatei% )
Die Batch guckt nach, ob die ,lock-Datei existiert. Wenn ja, dann wird fakturama nicht gestartet. Wenn nein, wird die Datei erstellt und fakturama gestartet. Wenn der Benutzer fakturama wieder schließt, wird auch die lock-Datei wieder gelöscht und das Programm somit für andere Nutzer wieder freigegeben.
Ich hab das auf meinem Rechner ausprobiert und scheint soweit zu funktionieren. Allerdings nur auf einem Einzelrechner, deshalb: ausprobieren!
Es müssen folgende Punkte beachtet werden:
1. Natürlich müssen die Pfade lockdatei und fakturamaexe entsprechend angepasst werden
2. Wichtig: Das Windows-Eingabeaufforderungs-Fenster darf NICHT geschlossen werden, während man mit fakturama arbeitet. Wenn man es doch tut und dann fakturama beendet, wird die lock-Datei nicht gelöscht und die Sperrung bleibt bestehen
2. Alle müssen angewiesen werden, fakturama nur noch über diese batch zu starten
3. lockdatei muss ein Pfad mit Laufwerksbuchstaben sein, auf die alle betreffenden Rechner Zugriff haben. Mit eingebundenen Netzwerklaufwerken (FTP) funktioniert das so nicht. Hab ich ausprobiert
Unter Linux wäre eine entsprechende bash ebenfalls leicht zu realisieren