Microsoft.Ass.OLEDB.12.0 CSV ConnectionString

Ich weiß, Fragen dieser Art sind gebeten, von Zeit zu Zeit, aber ich finde keine befriedigende Lösung.

Wie kann ich eine CSV-Datei mit MS ACE OLEDB 12?
Ich versuche es mit dem folgenden code.

DbConnection connection = new OleDbConnection();
connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Documents;Extended Properties=\"Text;HDR=Yes\"";
connection.Open();
DbCommand cmd;

cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM [Mappe1#csv]";
DbDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
    for (int i = 0; i < reader.FieldCount; i++)
        Console.Write("(" + reader.GetValue(i).ToString() + ")");

    Console.WriteLine();
}

cmd.Dispose();
connection.Dispose();
Console.WriteLine("Done");
Console.ReadKey();

Das Problem ist, dass nur eine Spalte gefunden wird. Der Text ist getrennt durch ';'. Auch wenn ich die genaue Angabe der Trennzeichen mit "Getrennt(|)" f.e. es wird nicht funktionieren.

Ich finde keine Dokumentation zu diesem Anbieter...

  • Wir bewegen uns mehr und mehr Weg von ACE. Es hat eine Menge problem (fast keine Dokumentation, kein support, Probleme mit bestimmten Zeichen in den Daten oder Arbeitsblatt-Namen, ...). Wir fanden heraus, dass es ist schneller, leichter und zuverlässiger zu bedienen Interop statt, wenn Sie haben ein klares design, als ACE. Zusätzliche für CSV-wir sind mit einer anderen API (LumenWorks CSV-reader: codeproject.com/Articles/9258/A-Fast-CSV-Reader)
InformationsquelleAutor SACO | 2011-03-03
Schreibe einen Kommentar