Я знаю, що ця проблема виникає знову і знову, коли я розгортаю свою програму на новому сервері, тому що я використовую цей драйвер для підключення до файлу Excel. Так ось це я роблю останнім часом.
Там є Windows Server 2008 R2, я встановлюю драйвери Access для x64-бітної машини, і я позбавляюся цього повідомлення, завдяки чому я дуже радий просто натрапити на інший.
Цей тут нижче працює чудово на моїй машині розробки, але на сервері дає мені помилку навіть після встановлення останніх драйверів ODBC, що, на мою думку, це проблема, але це я вирішив це.
private const string OledbProviderString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\OlsonWindows.xls;Extended Properties=\"Excel 8.0;HDR=YES\"";
Я замінюю нового постачальника, як описано нижче:
private const string OledbProviderString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xlsx;Extended Properties='Excel 12.0;HDR=YES;';";
Але коли я це роблю, ви маєте помітити одне. Використання розширення файлу .xlsx та версії Excel становить 12.0.
Після того як я потрапив у це повідомлення про помилку Помилка: "Не вдалося знайти встановлений ISAM" , я вирішу трохи змінити речі, як нижче:
private const string OledbProviderString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xls;Extended Properties='Excel 8.0;HDR=YES;';";
і так, я закінчував цю жахливу річ, але тут я отримав ще одне повідомлення . Двигун бази даних Microsoft Access не може відкрити або записати у файл 'time_zone'. Він вже відкритий виключно іншим користувачем, або вам потрібен дозвіл для перегляду та запису його даних.що говорить мені, що я недалеко від її вирішення.
Можливо, є ще один процес, який відкрив файл тим часом, і все, що мені потрібно зробити, це перезапуск, і все почнеться плавно, як очікувалося.