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

时间:2022-09-27 13:44:27
网站部署到服务器上总是提示这个错误,输入此命令regsvr32 msjetoledb40.dll错误消除,但不知什么时候又出现这个问题

了。服务器上部署2.0和4.0类库,2.0提示这个错,4.0提示Service Unavailable 这个错,具体什么原因呢。跪求高手解决

21 个解决方案

#1


这不是.net的类库,这是access数据库的驱动,你的机器没有安装

#2


引用 1 楼  的回复:
这不是.net的类库,这是access数据库的驱动,你的机器没有安装


我知道这不是类库的问题,access数据库驱动必须装吗?

#3


执行下
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

你的服务器是64位系统?

#4


引用 3 楼  的回复:
执行下
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

你的服务器是64位系统?


不是32位的。执行这个后2.0和4.0能同时用了。但不知道什么时候这俩个错就出来了

#5


不知道什么时候这俩个错就出来了

这个不会吧。你的连接字符串写了多个位置?放在web.config里面,都采用相同的字符串连接应该是没问题的。不至于出这样的错误。

#6


是不是两个版本的程序用了同一个application pool,分开试一试。

#7


我用360杀毒。查出一些 命令行:c:\windows\system32\wbem\osinter.ext;命令行:c:\windows\java\net1.exe;  c:\windows\addins\net.exe;  风险类型:无需启动的程序。

查杀不了,是不是跟它们有关系

#8


引用 6 楼  的回复:
是不是两个版本的程序用了同一个application pool,分开试一试。


我分开了。

#9


浮出水面。

#10


贴你出错处的代码

#11


没有在本机安装'Microsoft.Jet.OLEDB.4.0' 的驱动吧?

#12


貌似原来也遇到过这个问题

#13


少了个DLL

#14


引用 13 楼  的回复:
少了个DLL


少DLL?

#15


同样的问题,困扰了好一段时间了,求解!
问题和楼主一样,就连360扫出来的病毒都是一样的,不知与此可有关系
不知道楼主解决问题没有?
求高手关注啊!

#16


引用 15 楼  的回复:
同样的问题,困扰了好一段时间了,求解!
问题和楼主一样,就连360扫出来的病毒都是一样的,不知与此可有关系
不知道楼主解决问题没有?
求高手关注啊!


问题未解决...

#17


要是搞掂了,记得再此通报一下解决办法,我搞掂也会的:)

#18


引用 17 楼  的回复:
要是搞掂了,记得再此通报一下解决办法,我搞掂也会的:)


好的

#19


问题求关注……

#20



The problem is that we compile our solution as “Any CPU”. By default the solution on 64 bit system would run as x64 process, but both of Jet and ACE OLEDB provider only have x86 supported versions. An x64 process cannot load x86 component. Then, the error happens. 

http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/b5a79958-5bce-4229-a69f-75589b6240a8

微软的jet.oledb.4.0 只支持x86 ,具体看上面的链接吧。

#21


Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=NO;IMEX=1'

上面这个连接字符串同时兼容 xls 与 xlsx
且在 Any CPU 环境下没问题。

#1


这不是.net的类库,这是access数据库的驱动,你的机器没有安装

#2


引用 1 楼  的回复:
这不是.net的类库,这是access数据库的驱动,你的机器没有安装


我知道这不是类库的问题,access数据库驱动必须装吗?

#3


执行下
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

你的服务器是64位系统?

#4


引用 3 楼  的回复:
执行下
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

你的服务器是64位系统?


不是32位的。执行这个后2.0和4.0能同时用了。但不知道什么时候这俩个错就出来了

#5


不知道什么时候这俩个错就出来了

这个不会吧。你的连接字符串写了多个位置?放在web.config里面,都采用相同的字符串连接应该是没问题的。不至于出这样的错误。

#6


是不是两个版本的程序用了同一个application pool,分开试一试。

#7


我用360杀毒。查出一些 命令行:c:\windows\system32\wbem\osinter.ext;命令行:c:\windows\java\net1.exe;  c:\windows\addins\net.exe;  风险类型:无需启动的程序。

查杀不了,是不是跟它们有关系

#8


引用 6 楼  的回复:
是不是两个版本的程序用了同一个application pool,分开试一试。


我分开了。

#9


浮出水面。

#10


贴你出错处的代码

#11


没有在本机安装'Microsoft.Jet.OLEDB.4.0' 的驱动吧?

#12


貌似原来也遇到过这个问题

#13


少了个DLL

#14


引用 13 楼  的回复:
少了个DLL


少DLL?

#15


同样的问题,困扰了好一段时间了,求解!
问题和楼主一样,就连360扫出来的病毒都是一样的,不知与此可有关系
不知道楼主解决问题没有?
求高手关注啊!

#16


引用 15 楼  的回复:
同样的问题,困扰了好一段时间了,求解!
问题和楼主一样,就连360扫出来的病毒都是一样的,不知与此可有关系
不知道楼主解决问题没有?
求高手关注啊!


问题未解决...

#17


要是搞掂了,记得再此通报一下解决办法,我搞掂也会的:)

#18


引用 17 楼  的回复:
要是搞掂了,记得再此通报一下解决办法,我搞掂也会的:)


好的

#19


问题求关注……

#20



The problem is that we compile our solution as “Any CPU”. By default the solution on 64 bit system would run as x64 process, but both of Jet and ACE OLEDB provider only have x86 supported versions. An x64 process cannot load x86 component. Then, the error happens. 

http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/b5a79958-5bce-4229-a69f-75589b6240a8

微软的jet.oledb.4.0 只支持x86 ,具体看上面的链接吧。

#21


Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=NO;IMEX=1'

上面这个连接字符串同时兼容 xls 与 xlsx
且在 Any CPU 环境下没问题。