![]() |
Re: In eine CSV Datei Reinschreiben???
Zitat:
Ohne richtige Datenbank geht bei einem Multiuser System gar nichts. |
Re: In eine CSV Datei Reinschreiben???
Also entweder:
-Daten in richtige Datenbank kopieren -eigene MU-Steuerung implementieren -csv-Datei als externe Textdatei vom DBMS verwalten lassen |
Re: In eine CSV Datei Reinschreiben???
Okay habe das problem anders gelöst!
habe einfach die komplette csv datei in eine TStringList reingelesen habe die betreffende Zeile Neugeschrieben und dann den inhalt der TStringList wieder in die CSV datei geschrieben! Das ganze dauert so 0,03 Sekunden. für die Zeit bräuchte ich eine sperre der datei! dies habe ich noch nicht gelöst! Wollte ich aber wie folgt machen! Einfach mit einen try except den fehler E/A32 oder wie der auch immer heißt abfangen und dann kurz warten und nomma probieren! Weil wenn die CSV datei benutzt wird dann weiß ich das da einer schreibt/liest! dann soll der nächste warten bis die frei ist und TaDa es nomma probieren wenn sie dann wieder frei ist kann er auch schreiben! Holt sich halt die komplette datei und schreibt nur seine Zeile nochmals neu! dann noch eine überprüfung ob schon ein ';OK' hinten dran hängt und dementsprechend reagieren! gibt es noch sachen an die ich denken sollte?? |
Re: In eine CSV Datei Reinschreiben???
Bei MU-Zugriff würde ich dir sehr zum Einsatz eines richtigen DBMS raten.
|
Re: In eine CSV Datei Reinschreiben???
kann ich dieses DBMS auch ohne datenbank usw laufen lassen!
Ich kriege leider keine Datenbank zur verfügung gestellt! Und ich darf auch nichts bei den Leuten isntallieren! |
Re: In eine CSV Datei Reinschreiben???
Das DBMS ist der Datenbankserver. Du fragst also ob man einen (Auto-)Motor auch ohne Auto nutzen kann.
darfst du nichts installiere oder darf es nur nichts kosten? |
Re: In eine CSV Datei Reinschreiben???
darf nichts installieren!
Server haben wir hier genug rumstehen! Doch die wollen das komplett ohne datenbank anbindung! naja mal schauen! Heute 12 Uhr ist abgabe! Das locking muss noch rein! |
Re: In eine CSV Datei Reinschreiben???
Sichere dich ab, dass nicht du nachher die Haue kriegst, wenn es Probleme wegen dem Multiuserbetrieb gibt. Es ist doch immer das Gleiche.
Wegen dem CSV Locking. Du kannst versuchen, das ReadOnly Bit zu setzen, sobald du das Schreiben beginnst. Versucht gleichzeitig ein anderer User das Schreiben, kriegst du dort eine Exception, die du abfangen kannst und entsprechend drauf reagieren kannst. |
Re: In eine CSV Datei Reinschreiben???
Hallo,
Zitat:
Delphi-Quellcode:
Grüße vom marabu
var
fs: TFileSTream; fn: TFileName; s: TStrings; begin // fn := ParamStr(1); try fs := TFileStream.Create(fn, fmOpenReadWrite or fmShareExclusive); except // try again later ... Exit; end; s := TStringList.Create; s.LoadFromStream(fs); // your own wicked code ... fs.Size := 0; s.SaveToStream(fs); s.Free; fs.Free; end; |
Re: In eine CSV Datei Reinschreiben???
Ich habe es nun mit so nem try except block abgefangen!
Darum ne repeat until Schleife gesetzt und nen Sleep er soll es halt 10 mal machen wenn nach dem 10ten mal es immer noch nicht klappert! dann ne Message ey da hat was nicht geklappt try it again! So heute ist abgabe und ich bin fertig :) Danke nochmals für eure Hilfe! :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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-2025 by Thomas Breitkreuz