读固定格式文本文件

自从我不得不尝试使用Microsoft Text ODBC Driver或Microsoft Jet OLE DB 4.0 Provider读取文件以来,已经有好几年了。

所以我有以下代码

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); } 

当我运行上面的代码时,我得到一个“意外错误”,我知道我错过了一些东西,我不确定究竟是什么。

资料来源:

http://www.connectionstrings.com/textfile
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个长度的文本值。 如果需要,我会提供该文件。

从连接字符串中删除’(恰好在’text;之前)。

要解决“无法找到可安装的ISAM”,请运行以下命令:Regsvr32 c:\ winnt \ system32 \ mstext40.dll *确保该文件首先位于该文件夹中。 并将WINNT更改为您的Windows目录。

我知道这不是你问题的真正答案,但我真的会重新考虑使用这种架构来读取文件。

我真的更喜欢像CSV阅读器这样的东西,因为它为你提供了更多关于如何解释数据的能力。 另外,您还可以查看FileHelpers 。