"ist kein Gültiger name" Fehler beim abrufen von Daten aus csv - /txt-Datei mittels oledb
Ich abrufen von Daten aus einer csv/txt-Datei mittels oledb-Treiber
ConnString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source = " & System.IO.Path.GetDirectoryName(strFileName) & "; Extended Properties = ""Text;HDR=YES;FMT=Delimited"""
strQuery = "SELECT * FROM [" & System.IO.Path.GetFileName(strFileName) & "]"
In der letzten Zeile erhalte ich die folgende Fehlermeldung wenn die Datei groß ist
ist kein Gültiger name. Stellen Sie sicher, dass es nicht ungültige Zeichen oder Satzzeichen, und dass es nicht zu lange.
Meine Frage -
Gibt es ein limit, mit dem Namen oder der select Abfrage, oder gibt es einige Muster, die ich brauche, um zu Folgen?
- Ich bin nicht das bekommen, was Sie zu sagen versuchen. können Sie erklären,
- Ich bekomme das jetzt. Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nachdem er gerade kämpfte mit diesen, fand ich, dass kein Teil der Datei-Pfad oder Namen können mit Leerzeichen oder einfachen Anführungszeichen oder den Pfad der Datei wäre ungültig. Dies gilt, egal welche Qualifikation oder die Flucht der name ich habe versucht.
Nachdem ich entfernt alle Leerzeichen und Anführungszeichen, alles war in Ordnung. ZB.
Ungültig:
Gültig:
Hier ist ein Antwort gestohlen schamlos aus Avi das ist, warum es community-wiki:
Empfehle ich Blick auf die TextFieldParserClass eingebaut .Net eher als die Verwendung von Oledb. Sie müssen
Hier ist eine schnelle Probe:
Habe ich schon von Ihnen positiv bewertet werden die Antwort, die ich geliehen habe
Einige Experimente haben gezeigt, dass der name der Datei ohne die Erweiterung darf nicht enthalten ".". Also
MyData.csv
ist ein Gültiger Dateiname, aberMy.Data.csv
nicht.Ich habe nicht genau herausgefunden, was das problem war, aber es ist klar, dass lange Dateinamen war die Schaffung problem, also hier ist was ich getan habe
Ich nur umbenannt die Datei mit einer neuen Guid, während ich das abrufen der Daten nach umbenannt es zurück zu den ursprünglichen Dateinamen.
Dies ist nicht genau das, was ich wollte, bin ich noch auf der Suche nach einer besseren Lösung. Bitte posten, wenn jemand einen finden.
Dank