Подтвердить что ты не робот

Где/как я могу загрузить (и установить) Microsoft.Jet.OLEDB.4.0 для Windows 8, 64 бит?

У меня есть 32-разрядное приложение .net 2.0, которое использует Jet OLEDB 4.0.

Он работает на Windows 8 32 бит, но не на 64 бит. на 64 бит я получаю сообщение об ошибке:

Поставщик Microsoft.Jet.OLEDB.4.0 не зарегистрирован на локальном компьютере. машина. в System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper & datasrcWrapper)

Я знаю, что вы не можете использовать эту базу данных (драйвер) с 64-разрядным EXE. Однако я ничего не читал об этом, не работая с 32-разрядным exe.

Что я пробовал:

Итак, я думаю (надеюсь), что, если я смогу установить поддержку базы данных, она просто сработает.

Проблема в том, что я не могу найти место для ее загрузки.

4b9b3361

Ответ 1

В современных Windows этот драйвер по умолчанию больше недоступен, но вы можете скачать как Microsoft Access Database Engine 2010 Redistributable на сайте MS, Если ваше приложение составляет 32 бита, обязательно загрузите и установите 32-битный вариант, поскольку, насколько мне известно, 32-битный и 64-битный варианты не могут сосуществовать.

В зависимости от того, как ваше приложение находит свой драйвер db, это может быть все, что нужно. Однако, если вы используете UDL файл, есть еще один шаг - вам нужно отредактировать этот файл. К сожалению, на 64-битной машине мастер, использующий для редактирования файлов UDL, по умолчанию имеет 64 бита, он не увидит драйвер JET и не пощелкает любой драйвер, который он находит первым в файле UDL. Есть два способа решить эту проблему:

  • запустите 32-разрядный мастер UDL следующим образом: C:\Windows\syswow64\rundll32.exe "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile C:\path\to\your.udl. Обратите внимание, что я мог бы использовать эту технику на Win7 64 Pro, но он не работал на сервере 2008R2 (может быть, моя ошибка, просто упоминание)
  • откройте файл UDL в "Блокноте" или другом текстовом редакторе, он должен более или менее иметь этот формат:

[oledb] ; Everything after this line is an OLE DB initstring Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Path\To\The\database.mdb;Persist Security Info=False

Это должно позволить вашему приложению начать правильно.

Ответ 2

Убедитесь, что вы нацеливаете x86 на свой проект в Visual Studio. Это должно устранить ваши проблемы.