Как получить список столбцов из файла CSV с помощью OleDb?

Я могу легко получить список столбцов из файла Excel следующим образом:

columns = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new string[] { null, null, tableName, null });

Я хотел бы сделать то же самое для файла CSV, но я не уверен, какие параметры требуются. Моя строка подключения к файлу CSV:

"Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0}; Extended Properties='text; FMT=Delimited(,); ReadOnly={1}; HDR={2}'".FormatString(directory, readOnly, (firstLineIsColumnHeaders ? "yes" : "no"))

Что получается (в данном случае) примерно так:

Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Windows\Temp\sadf83.tmp; Extended Properties='text; FMT=Delimited(,); ReadOnly=true; HDR=yes'

Но когда я пытаюсь выполнить GetOleDbSchemaTable, команда возвращается нормально, но дает мне пустой DataTable; то же самое верно, когда я пытаюсь GetSchema("Columns").


person Josh M.    schedule 05.04.2013    source источник
comment
возможный дубликат Получить все таблицы и все столбцы из odbc база данных   -  person MethodMan    schedule 06.04.2013
comment
@ I4V I4V Совсем не сложно, но я бы предпочел использовать встроенные методы, чем переписывать ту же логику!   -  person Josh M.    schedule 06.04.2013
comment
@DJKRAZE Спасибо, но я уже пробовал оба метода в этом посте, и все равно получаю пустой DataTable. На самом деле выбор данных из CSV-файла работает нормально, просто методы OleDb для получения схемы/столбцов не работают.   -  person Josh M.    schedule 06.04.2013