OleDbConnection错误'连接到Excel文件时'外部组件引发了异常'

问题描述 投票:0回答:1

我的WinForms应用程序将数据从Excel文件读取到DataTable。在第一个电话上,一切正常。在第二次调用(15分钟后,由System.Timers.Timer调节)时,在行conn1.Open();处收到以下错误:

外部组件引发了异常

我已经搜索了StackOverflow,但没有找到能完全解决此问题的内容。我已经读过OleDbConnection gets "External component has thrown an exception.",但是建议您检查Visual Studio中的构建配置平台,在我的情况下必须正确,因为在第一次调用时代码可以正确执行。

下面是我的代码:

DataTable dt = new DataTable();
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Mode=Read;Extended Properties=\"Excel 12.0 XML;HDR=Yes\"";
FileInfo file = new FileInfo(path);
OleDbConnection conn1 = new OleDbConnection(connectionString);
conn1.Open(); //Exception is thrown here on second calling
OleDbDataAdapter da = new OleDbDataAdapter(string.Format("SELECT * FROM [Sheet1$]"), conn1);
da.Fill(dt);

path始终是一个新文件。每次调用时,旧文件都会被新文件(具有不同的文件名)替换。

几天来我一直在为此苦苦挣扎,任何帮助都值得赞赏。

c# winforms oledbconnection
1个回答
0
投票

只是逐行删除代码,结果发现删除以下行即可使代码正常工作:

FileInfo file = new FileInfo(path);

如果有人对为什么会这样有任何建议,我很想知道。

© www.soinside.com 2019 - 2024. All rights reserved.