Entscheidungshilfe

Status
Nicht offen für weitere Antworten.
M

Manuela

Gast
Hallo,

Wir haben bei uns in der Firma ein Buchhaltungsprogramm dass wir letztes Jahr Programmiert haben.

Server / Client MySQL Datenbank.

Und jetzt kommt es ab und zu mal vor, das die Verbindung zum Serverprogramm abreist.
und dann gehen Daten verloren.

jetzt habe ich die Ehrenvolle Aufgabe bekommen: Ich soll eine möglichkeit programmieren, das es zu keinem Datenverlust mehr kommen darf.

da hab ich mir folgendes überlegt und hätte gerne mal eure Meinung gehört.



Da die Daten von einem Datensatz als xml file temporär im verzeichnis gespeichert werden, könnte ich mir
eine HSsql Datenbank oder sonstwas ??? anlegen und die Daten speichern. dann spätestens wenn der Client
zugemacht(beendet) wird, die Daten aus der lokalen (minidatenbank) auf den Server schicken und updaten.

der XML Datensatz wird sobald ein neuer Datensatz geöffnet wird überschrieben.

macht sowas Sinn oder gibt es eine andere möglichkeit ???



Gruß Manuela
 
T

tuxedo

Gast
>> macht sowas Sinn oder gibt es eine andere möglichkeit ???

Klar. Statt ein "dirty workaround" zu schaffen besser mal prüfen warum die Verbindung zum Serverprogramm abreist.

Wenn die Tür im Auto nichtmehr richtig schließt geh ich ja auch nicht in ein KFZ Forum und frag, ob es Sinn macht "das Loch" mit einer Plastikfolie und Panzertape zuzukleben oder ob's ne bessere Idee gibt... Die werden mich allesamt in die Werkstatt schicken damit man dort schaut warum die Tür nichtmehr richtg schließt ;-)

- Alex
 
M

Manuela

Gast
Hallo,

Es geht doch darum wenn die Verbindung abreist( und das kommt ab und zu mal vor), oder Kabel geht kaput
oder ... die neu geschriebene Daten zu sichern damit man keinen Datenverlust hat.

man kann halt nicht immer den Fehler finden(wenn es überhaupt einen gibt).

also nocheinmal die Frage welche möglichkeit man hat.

gruß Manuela
 

FArt

Top Contributor
Warum gehen dann Daten verloren?

Annahme: die Änderungen passieren in einer Transaktion => der Client kann sofort auf den Fehler reagieren.

...und natürlich noch herausfinden, warum die Verbindung abbricht... da gibt es sicher Fehlermeldungen...
 

tfa

Top Contributor
Benutzt du wenigstens einen Connection-Pool? Der sorgt automatisch dafür, dass die Verbindungn wieder aufgebaut wird, sollte sie mal zusammenbrechen.
Am besten wäre natürlich ORM-Mapper wie Hibernate o.ä. Das muss man zwar erst lernen, aber dann muss man sich mit solchen "low-level" Problemen nicht mehr rumschlagen.
 
M

Manuela

Gast
Hallo,

natürlich ist ein ConnectionPool (apache dbcp)

aber das ist auch nicht das Problem, ich glaube das das Problem eher die Verbindung Client / Server ist.
Denn das Serverprogramm macht 80 % der SQL Arbeit.
die Connection geht über Socket die daten werden auch alle Serializable verschickt
aber es kommt halt ab und zu, zu connect problemen

und wie kann ich das abfangen??

Gruß Manuela
 
M

maki

Gast
Was ist denn jetzt das Problem das gelöst werden soll?

die Verbindung die abbricht

oder

die Tatsache dass wenn es zu Verbindungsproblemen kommt die Daten weg sind?

Bei ersterem must du die Ursache des Abbruches finden und beseitigen, bei letzterem musst du dafür sorgen, dass wenn die Verbindungen abgebrochen wurde der User/das Programm die Daten nochmals abschickt, solange bis sie gespeichert wurden.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben