The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine

浪尽此生 提交于 2019-12-10 03:50:29

问题


I am having a problem with my application. When it is run, the error displays

The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.

I tried changing Platform to X86 CPU but it could not be changed, the only available option is Any CPU.

Please advise how to get rid of this error.

Thanks


回答1:


you are using the Jet.OLEDB.4.0 driver, which gives that error when run on 64 bit system, it is better to install the new driver Microsoft Access Database Engine 2010 Redistributable

http://www.microsoft.com/download/en/details.aspx?id=13255

also you'll need to change the connexion string from “Provider=Microsoft.Jet.OLEDB.4.0; “ to “Provider=Microsoft.ACE.OLEDB.12.0;”

reference from my blog : 64 bit version of ‘Microsoft.Jet.OLEDB.4.0’ Office 2007/2010 Jet drivers

hope this helps.




回答2:


Open IIS manager, select Application Pools, select the application pool you are using, click on Advanced Settings in the right-hand menu. Under General, set "Enable 32-Bit Applications" to "True".

Now x86 option will be visible and build your app in this mode




回答3:


Access is not installed on the system. you have to install either microsoft office, or access database engine (which is free and much smaller) here is the link to install it for access 2010:

http://www.microsoft.com/download/en/details.aspx?id=13255




回答4:


The Microsoft.Jet.OLEDB.4.0 provider is not registered on the local machine Background

RNT Customer is designed to work on 32 or 64 bit PCs running Windows XP, Windows Vista, Windows 7 or Windows 8 Pro, but on Windows XP 64 bit (and possibly other operating systems) it is possible that some of the Microsoft OLEDB DLLs have not been registered.

Solution No. 1

The solution is to manually register those DLLs.

go to Start->Run and type cmd this starts the Command Prompt (also available from Start->Programs->Accessories->Command Prompt)

type cd \ and press return

The prompt should now show C:\>

You need to go to a special folder which would be something like

  • c:\windows\system32
  • c:\winnt\system32
  • c:\windows\sysWOW64

Try typing each of these. If it says "The system cannot find the path specified, try the next one" e.g.

  • cd c:\windows\sysWOW64
  • cd c:\windows\system32
  • cd c:\winnt\system32

When one of those doesn't cause an error, stop, you've found the correct folder.

You need to register the OLE DB 4.0 DLLs by typing these commands and pressing return after each

  • regsvr32 Msjetoledb40.dll
  • regsvr32 Msjet40.dll
  • regsvr32 Mswstr10.dll
  • regsvr32 Msjter40.dll
  • regsvr32 Msjint40.dll

*Solution No. 2 *

To resolve this issue open the project in Visual Studio then:

  1. From the solution explorer right-click your project then click Properties
  2. Click the Build tab
  3. Change Platform target from: Any CPU to x86
  4. Re-build your solution



回答5:


Causes: Hosting of Asp.net application on 64 bit machine. But our site reference to third party DLL which is build in 32 bit. step by step solution Once i tried all solution but i was stuck , because i was using ODBC driver insted of OLEDB.



来源:https://stackoverflow.com/questions/8150232/the-microsoft-jet-oledb-4-0-provider-is-not-registered-on-the-local-machine

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!