verwendetes Datenbanksystem: MySQL Server 5
Hallo liebe Community,
ich programmiere gerade eine Software die mir sämtliche *.txt Dateien von einem Ordner einliest und anschließend Pfade sowie Dateinamen in die MySQL Datenbank schreibt. Dies mache ich damit ich in meiner Software schneller nach Dateien suchen kann (100.000+).
Wenn ich in meiner Anwendung auf "Datei öffnen" klicke, und diese Dateien Sonderzeichen wie z.B. ² oder ³ § und Co habe, öffnet er mir diese Datei nicht mehr da ja in der Datenbank ein blödsinn eingetragen wurde. Auch wenn ein Dateiname irgendwas'123.txt lautet, gibt's dort Probleme.
Nun die Frage: wie kann ich den Dateinamen genau so in die Datenbank schreiben, so wie dieser auch lautet? Gibt's da eine Möglichkeit?
Ich darf die orginaldateien auf keinen Fall ändern.
Habt ihr dazu Ideen?
Vielen Dank!
Glg IcEgEt
Hi
Wie du die Dateinamen 1 zu 1 in die DB bekommst kann ich dir nicht sagen. Sollte es aber keine Lösung dafür geben, kannst du ja eine Codierung implementieren.
Dateiname: Hallo123.txt
DBeintrag: HalloFFF.txt
Bei der Behandlung der Einträge weisst du dann FFF = 123.
Hallo iceget,
in der Hoffnung, dass meine Glaskugel richtig erkannt hat, wo das Problem liegt, sollte dir [Artikel] PowerShell Cmdlet's [Artikelserie] SQL: Parameter von Befehlen weiterhelfen.
Sollte es nicht einen Zeichensatz geben welcher die Zeichen richtig speichert?
Sollte es nicht einen Zeichensatz geben welcher die Zeichen richtig speichert?
Ja - das sollte aber IMHO nicht das Problem sein:
Auch wenn ein Dateiname irgendwas'123.txt lautet, gibt's dort Probleme.
Die Tatsache, dass ein Dateiname "problematisch" ist, wenn er ein Hochkomma enthält (was zufälligerweise auch in SQL-Statements zur Abgrenzung von Parameterwerten verwendet wird), scheint mir da eher verdächtig. 😉
Daher auch mein Link.
Bei der Verwendung von Parametern sollte sich das Framework auch automatisch um die korrekte Kodierung kümmern.