Entwickler-Ecke

IO, XML und Registry - Einlesen von CSV über OleDb mit Anführungszeichen


Steven85 - Do 05.11.15 09:43
Titel: Einlesen von CSV über OleDb mit Anführungszeichen
Hallo zusammen,

ich habe ein Problem beim einlesen von CSV Dateien über OleDb.
Folgende Konfiguration verwende ich:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
StringBuilder sbConnectionString = new StringBuilder(512);
sbConnectionString.Append("Provider= Microsoft.Jet.OLEDB.4.0;");
sbConnectionString.Append("Data Source=").Append(Path.GetDirectoryName(sFilename)).Append(";");
sbConnectionString.Append("Extended Properties=\"Text;");
sbConnectionString.Append("HDR=Yes;");
sbConnectionString.Append("FMT=Delimited\";");

// Sql-Statement erstellen...
string SqlStatement = "Select * from " + Path.GetFileName(sFilename);

// Datenzugriffsobjekte erzeugen...
OleDbDataAdapter adptSelect = new OleDbDataAdapter(SqlStatement, sbConnectionString.ToString());

// Daten auslesen und zurückliefern...
adptSelect.Fill(dataset);


Kommen jedoch Anführunfszeichen in der Datei vor sieht das ungefähr so aus:

field 1;field 2;field 3;field 4;field 5
field 1;field "2";field 3;field 4;field 5
field 1;field 2;field 3;field 4;field 5

+-------+-------+-------+-------+-------+
| field 1| field 2| field 3| field 4| field 5|
+-------+-------+-------+-------+-------+
| field 1| field
+-------+-------+-------+-------+-------+
| field 1| field2 | field 3| field 4| field 5|
+-------+-------+-------+-------+-------+

Ab der Zelle wo er dieses findet, beendet er diese einfach.
Gibt es eine Möglichkeit Anführungszeichen ganz normal mit einzulesen?

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt


Th69 - Do 05.11.15 17:32

Hallo,

s. Using Oledb to read a .csv with double quotes in it [https://social.msdn.microsoft.com/Forums/vstudio/en-US/492d8f3a-a5fa-4f5d-be11-424c95d548cd/using-oledb-to-read-a-csv-with-double-quotes-in-it]

PS: Bitte Crossposts immer verlinken: myCSharp.de - Einlesen von CSV über OleDb mit Anführunf(g!)szeichen [http://www.mycsharp.de/wbb2/thread.php?threadid=115878]


Steven85 - Fr 06.11.15 10:45

user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,

s. Using Oledb to read a .csv with double quotes in it [https://social.msdn.microsoft.com/Forums/vstudio/en-US/492d8f3a-a5fa-4f5d-be11-424c95d548cd/using-oledb-to-read-a-csv-with-double-quotes-in-it]

PS: Bitte Crossposts immer verlinken: myCSharp.de - Einlesen von CSV über OleDb mit Anführunf(g!)szeichen [http://www.mycsharp.de/wbb2/thread.php?threadid=115878]


Was ist an meinem Code dann falsch. Ich hab schon alles probiert.


Th69 - Fr 06.11.15 11:55

Hast du mal den Tipp mit der "schema.ini" probiert?