(Мне не нужны альтернативы OleDbDataAdapter.)
Код ниже находит и читает файл нормально, но DGV имеет четыре столбца (как и ожидалось), но все строки данных содержат только текст в первом столбце.
Dim sDir As String = "c:\temp\"
Dim sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDir & ";Extended Properties='text;HDR=Yes;FMT=TabDelimited';"
Dim dt As New DataTable()
Using adapt As New OleDbDataAdapter(String.Format("SELECT TOP 100 * FROM robo.txt"), sConn)
adapt.Fill(dt)
End Using
DataGridView1.DataSource = dt
Я думаю, что расширенные свойства будут единственным требованием. Я пытался добавить Schema.ini безрезультатно - я не думаю, что он даже читается, поскольку заголовки столбцов никогда не соответствуют схеме.
Строка заголовка в наиболее успешном проходе использовала запятые в качестве разделителя - в результате получилось четыре столбца с именами собственными, но табуляция разделила все данные в Col1. Если я использую вкладки в строке заголовка, я получаю некоторые системные назначенные столбцы (3), которые соответствуют строке данных с двумя запятыми.
Что я делаю не так?
Вот первые несколько строк с заменой символа табуляции на <tab>
. С тех пор я заметил, что у меня есть дополнительный столбец в данных. Исправление строки заголовка ниже не решило проблему — все данные сбрасываются в первое поле.
Использование разделителя табуляции в заголовке вместо запятых приведет к тому, что весь текст заголовка и данные будут сброшены в первое поле.
col1,state,col3,size,path
<tab> same<tab><tab> 102912<tab>\\APCD04T\Data\Thumbs.db
<tab> same<tab><tab> 22016<tab>\\APCD04T\Data\APCD Topical Info\APCD_Boards&Committees_List.doc
<tab> same<tab><tab> 4.3 m<tab>\\APCD04T\Data\APCD Topical Info\LOSSAN-LAtoSLORailCorridorStrategicPlan.pdf