Microsoft.ACE.OLEDB.12.0 провайдер не зарегистрирован - PullRequest
3 голосов
/ 24 августа 2011

Мое приложение написано в C# и использует Ms-Access 2003, и я хочу, чтобы оно правильно работало при 64-bit установке Windows.Я использую провайдера данных как ACE.OLEDB.12. 0 в строке подключения, но он все еще дает исключение, что провайдер Microsoft.ACE.OLEDB.12.0 не зарегистрирован, хотя я установил Microsoft Access Databse Engine 2010 (32-bit) на целевой машине (в качестве целиOffice установка машины 32-bit).

Я подписался на следующий пост Поставщик Microsoft.ACE.OLEDB.12.0 не зарегистрирован и многие другие посты на msdn и других microsoft сайтах, и проблема решается как говоритсяскомпилировать в x86.Я хочу знать, есть ли другой способ решения этой проблемы, который не требует компиляции в x86 ...

Ответы [ 2 ]

5 голосов
/ 24 августа 2011

Вам не нужно компилировать для x86, но вам нужно установить 64-битный поставщик доступа OLEDB на 64-битном компьютере. Он доступен здесь: Microsoft Access Database Engine 2010, распространяемый

1 голос
/ 19 августа 2013

У меня была такая же проблема на 64-битной, но, следуя совету на http://social.msdn.microsoft.com/Forums/en-US/1d5c04c7-157f-4955-a14b-41d912d50a64/how-to-fix-error-the-microsoftaceoledb120-provider-is-not-registered-on-the-local-machine,, я установил версию этих компонентов Office 2007 из http://www.microsoft.com/download/en/confirmation.aspx?id=23734,, которая работала безупречно.

...