Чтение текстового файла с фиксированным форматом - PullRequest
0 голосов
/ 27 января 2012

Прошли годы с тех пор, как мне пришлось пытаться прочитать файл с помощью драйвера Microsoft Text ODBC или поставщика Microsoft Jet OLE DB 4.0.

Итак, у меня есть следующий код

public void Example()
{
string CVS = Application.StartupPath;
string SQL = "SELECT * FROM [MyFile.txt]";
string Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+CVS+";"+"Extended Properties='text;HDR=Yes;FMT=Fixed;";
OleDbDataAdapter OLE = new OleDbDataAdapter(SQL,Connection);
DataTable Table = new DataTable();
OLE.Fill(Table);
}

Когда я запускаю приведенный выше код, я получаю «Неожиданную ошибку», я знаю, что что-то упустил, я не совсем уверен, что именно1012 *http://www.connectionstrings.com/Providers/net-framework-data-provider-for-ole-db
http://www.aspdotnetcodes.com/Importing_CSV_Database_Schema.ini.aspx

Любое направление будет оценено.

Предположим, файл Schema.ini правильный.Он имеет 30 и 60 текстовых значений длины.Я предоставлю документ, если потребуется.

Ответы [ 2 ]

4 голосов
/ 27 января 2012

Удалить '(непосредственно перед' text;) из строки подключения.

Чтобы разрешить "Не удалось найти устанавливаемый ISAM", выполните следующую команду: Regsvr32 c: \ winnt \ system32 \mstext40.dll * Убедитесь, что файл находится в этой папке первым.И измените WINNT на любой каталог Windows.

0 голосов
/ 27 января 2012

Я знаю, что это не настоящий ответ на ваш вопрос, но я бы по-настоящему переосмыслил использование этой архитектуры для чтения в файле.

Я бы действительно предпочел что-то вроде CSV Reader потому что это дает вам гораздо больше возможностей о том, как данные будут интерпретироваться.В качестве альтернативы вы также можете взглянуть на FileHelpers .

...