Приложение WinForms считывает данные из файла Excel в DataTable. При первом звонке все работает как надо. При втором вызове (15 минут спустя, регулируется System.Timers.Timer), я получаю следующую ошибку в строке conn1.Open();
:
Внешний компонент выдал исключение
Я искал StackOverflow, но не нашел ничего, что вполне отвечает этой проблеме. Я прочитал OleDbConnection получает «Внешний компонент выдал исключение.» , однако это предполагает проверку платформы конфигурации сборки в 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
- это всегда новый файл. Старый файл заменяется новым файлом (с другим именем файла) при каждом вызове.
Я боролся с этим уже несколько дней, любая помощь приветствуется.