Ich muss eine Vielzahl von Dateitypen lesen, wie xlsx, csv, txt und mdb, und ich möchte eine OleDB-Verbindung verwenden, so dass der Prozess des Lesens der Dateien ist das gleiche, nur mit einer anderen Verbindungszeichenfolge. OleDB ignoriert das Trennzeichen jedoch in Verbindungszeichenfolgen wie dem folgenden und liest nur kommagetrennte Zeichen.OleDb Verbindungszeichenfolge für tabulatorgetrennte Dateien
Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Text;HDR=Yes;Delimited(\t)';
Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Text;HDR=Yes;FMT=TabDelimited';
Ich hätte lieber, dass die OleDB-Engine die Arbeit erledigt, anstatt die durch Tabulatoren getrennten Dateien selbst zu analysieren.
Es gibt mehrere StackOverflow-Fragen dazu, und die Lösung besteht normalerweise darin, eine INI-Datei im selben Verzeichnis zu erstellen, aber manchmal haben meine Benutzer keinen Schreibzugriff auf den Ordner. Da alle StackOverflow-Fragen, die meinen ähneln, mindestens ein paar Jahre alt sind, hat jemand aktualisierte Informationen zu diesem Thema? Diese
Leider funktioniert das nicht für mich. Ich probierte auch eine röhrengetrennte Datei mit '" Provider = Microsoft.ACE.OLEDB.12.0; Datenquelle = ...; Erweiterte Eigenschaften = 'Text; HDR = YES; FMT = Getrennt ("+ (char) 124 +") "" und "... FMT = Getrennt (|)" ohne Erfolg. – zambonee
@zambonee, ja, in der Tat zusätzlich zu den oben genannten Conn. Strings Ich erzeuge auch schema.ini mit Textbegrenzer wie: '" ["+ Path.GetFileName (file) +"] \ r \ nFormat = Getrennt (|) \ r \ nTextDelimiter = "+ textDelimiter ...'. Also wahrscheinlich geht es ohne es nicht. – andrews