Jet доступен только в 32-битном формате, поэтому, если это сработало, ваше приложение должно быть 32-битным. Это объясняет, почему 64-разрядная версия ACE не работает с файлом ACCDB. Это означает, что для использования ACE вам либо нужна 32-разрядная версия, либо ваше приложение должно быть 64-разрядным.
Обычно рекомендуется устанавливать 32-разрядную версию ACE, если только вам не требуется 64-разрядная версия. . Это потому, что Office обычно 32-битный (это то, что рекомендует Microsoft, хотя 64-битная версия доступна, если вам нужны определенные c преимущества), а приложения VS по умолчанию 32-битные (любой ЦП, предпочитайте 32-битную версию).
Если ваш проект нацелен на платформу x86, он всегда будет 32-битным и не будет работать в системах, которые не поддерживают 32-битную версию. Если ваш проект нацелен на платформу x64, он всегда будет 64-разрядным и не будет работать в системах, которые не поддерживают 64-разрядную версию. Если ваш проект нацелен на Any CPU и Prefer 32-bit отмечен, то он будет 32-битным, если это возможно, иначе он будет 64-битным. Если ваш проект нацелен на Any CPU и Prefer 32-bit НЕ отмечен, то он будет 64-битным, если это возможно, иначе он будет 32-битным.
РЕДАКТИРОВАТЬ:
Для тех, кто этого не понимает, предполагая, что вы используете 64-разрядную Windows для Intel / AMD, попробуйте следующее:
- Создайте новый проект консольного приложения VB.
- Добавьте следующий код:
Module Module1
Sub Main()
Console.WriteLine(If(Environment.Is64BitProcess, "64-bit", "32-bit"))
Console.ReadLine()
End Sub
End Module
Открыть страницу Compile свойств проекта. Установите
Целевой ЦП на
x86 и запустите проект. Установите
Целевой ЦП от до
Любой ЦП , установите флажок
Предпочитать 32-разрядный и запустите проект. Установите
Целевой ЦП на
Любой ЦП , снимите флажок
Предпочитать 32-разрядный и запустите проект. Установите
Целевой ЦП на
x64 и запустите проект.
Вы увидите, что в первых двух случаях отображается «32-разрядный», а в последних двух случаях отображается «64-разрядный», в точности как я объяснил выше.
Обратите внимание, что для свойства Is64BitProcess
требуется как минимум. NET Framework 4.0 или. NET Core 2.0.