Wiem, że mam ten problem w kółko podczas wdrażania mojej aplikacji na nowym serwerze, ponieważ używam tego sterownika do łączenia się z plikiem Excel. Oto co robię ostatnio.
Jest Windows Server 2008 R2, instaluję sterowniki Access dla komputera x64 bitowego i pozbywam się tego komunikatu, co sprawia, że jestem bardzo szczęśliwy, że wpadłem na inny.
Ten poniżej działa doskonale na moim komputerze deweloperskim, ale na serwerze pojawia się błąd nawet po zainstalowaniu najnowszych sterowników ODBC, co myślę, że to jest problem, ale tak to rozwiązałem.
private const string OledbProviderString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\OlsonWindows.xls;Extended Properties=\"Excel 8.0;HDR=YES\"";
Zastępuję nowego dostawcę, takiego jak poniżej:
private const string OledbProviderString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xlsx;Extended Properties='Excel 12.0;HDR=YES;';";
Ale kiedy to robię, należy zauważyć jedną rzecz. Korzystanie z rozszerzenia pliku .xlsx i wersji programu Excel to 12.0.
Po przejściu do tego komunikatu o błędzie Błąd: „Nie można znaleźć instalowalnego ISAM” , postanawiam zmienić rzeczy trochę jak poniżej:
private const string OledbProviderString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OlsonWindows.xls;Extended Properties='Excel 8.0;HDR=YES;';";
i tak, skończyłem z tą paskudną rzeczą, ale tutaj dostałem kolejną wiadomość Aparat bazy danych Microsoft Access nie może otworzyć ani zapisać do pliku „strefa_czasu”. Jest już otwarty wyłącznie przez innego użytkownika lub potrzebujesz uprawnień do przeglądania i zapisywania jego danych. co mówi mi, że nie jestem daleko od rozwiązania tego problemu.
Być może w międzyczasie otworzył się plik i wszystko, co muszę zrobić, to ponowne uruchomienie i wszystko zacznie działać płynnie zgodnie z oczekiwaniami.