У меня 32-битный Office установлен вместе с 32-битным AccessDatabaseEngine на ноутбуке с 64-битной Windows 10.
С 32-битным Office идет 32-битный ACE, хотя Office не использует ACE (ноVBA может это сделать) и (Microsoft не позволяет 32-64-битному ACE 12.0 сосуществовать на одном компьютере).
Используя идентичную строку подключения и оператор SQL, я могу успешно использовать ADODB, но сервер C # COMвыдаёт мне эту ошибку:
Поставщик 'Provider = Microsoft.ACE.OLEDB.12.0' не зарегистрирован на локальном компьютере.
Я также могуИмпорт данных из источников xlsx в SQL Server Management Studio.
Похоже, что сервер C # Com ищет 64-разрядную версию.Я указал x86 в качестве целевой платформы для проекта C #.
Любые советы о том, как преодолеть ошибку с сервером C # COM?Почему C # по умолчанию использует 64-битный ACE 12.0 (ADODB и SSMS нет)?Есть ли способ принудительного использования 32-битного ACE в проекте C # - я уже указал x86 в качестве целевой платформы?
Спасибо.