Laden...

Dateiinidizierung *.txt Dateien in eine MySQL Datenbank

Erstellt von iceget vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.090 Views
I
iceget Themenstarter:in
20 Beiträge seit 2011
vor 11 Jahren
Dateiinidizierung *.txt Dateien in eine MySQL Datenbank

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

M
7 Beiträge seit 2012
vor 11 Jahren

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.

5.742 Beiträge seit 2007
vor 11 Jahren

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.

L
416 Beiträge seit 2008
vor 11 Jahren

Sollte es nicht einen Zeichensatz geben welcher die Zeichen richtig speichert?

5.742 Beiträge seit 2007
vor 11 Jahren

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.