问题
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:
- From the solution explorer right-click your project then click Properties
- Click the Build tab
- Change Platform target from: Any CPU to x86
- 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