自从我不得不尝试使用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个长度的文本值。如果要求,我会提供该文件。
答案 0 :(得分:4)
从连接字符串中删除'(在'text;之前)。
要解决“无法找到可安装的ISAM”,请运行以下命令: Regsvr32 c:\ winnt \ system32 \ mstext40.dll *确保文件首先在该文件夹中。并将WINNT更改为您的Windows目录。
答案 1 :(得分:0)
我知道这不是你问题的真正答案,但我真的会重新考虑使用这种架构来读取文件。
我真的更喜欢像CSV Reader之类的东西,因为它可以让您更加了解数据的解释方式。另外,您还可以查看FileHelpers。