OleDb - большие проблемы с чтением файла CSV - PullRequest
0 голосов
/ 13 февраля 2010

Мне нужно разобрать файл csv (расширение txt). Он ограничен символом ',' и имеет все значения в "".

Первая проблема. Если файл имеет такое имя, как firstpart.secondpart.txt, выполнение программы чтения вызывает исключение, говорящее, что ядру Microsoft Jet не удалось найти таблицу (или что-то в этом роде - у меня есть WinXp). Когда я удаляю «secondpart» из имени файла и оставляю его firstpart.txt, я могу запустить программу чтения.

Вторая проблема. reader.FieldCount возвращает 1. Если я поменяю разделитель на ';' возвращает хорошее количество полей. Я читал, что это параметр в реестре, который определяет разделитель для OleDb. В моем реестре это ';' вот почему это работает, когда я изменяю его в файле. Я также читал, что я могу ovveride его с помощью (FMR = Delimited (x)) при подключении соединения. Но это не работает. Третий способ - создание файла schema.ini с Format = Delimited (x), но он также не работает. Похоже, настройки реестра всегда используются. Конечно, я не могу изменить эту настройку на каждом целевом компьютере.

Кто-нибудь может мне помочь, пожалуйста?

3P

Ответы [ 2 ]

0 голосов
/ 13 февраля 2010

Это может помочь: Ускорить вставку МДБ

0 голосов
/ 13 февраля 2010

Мне было трудно использовать функцию чтения JET CSV, и теперь я использую этот читатель с открытым исходным кодом CSV вместо.

Это быстрый / эффективный и простой в использовании.

...