“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。

9

我遇到了一个应用程序问题。在运行时,会出现以下错误:

本地计算机未注册'Microsoft.Jet.OLEDB.4.0'提供程序。

我尝试将平台更改为X86 CPU,但无法更改,唯一可用的选项是Any CPU。

请告诉我如何解决这个错误。

谢谢


请查看此线程 - http://social.technet.microsoft.com/Forums/en/w7itproappcompat/thread/14041b74-6ca6-49be-af90-d8ff3f962724 - KV Prajapati
2
你的问题不应该是“为什么我不能更改目标 CPU”,因为这才是令人困惑的事情。 - hawbsl
我尝试将平台更改为X86 CPU,但无法更改。如果其他人也遇到此问题,请首先尝试以下操作:如果您正在使用Visual Studio,则可以在项目属性>生成>平台目标下更改平台。如果您检查解决方案平台,它可能只显示任何CPU。 - Gayan Dasanayake
5个回答

7

5
打开IIS管理器,选择“应用程序池”,选择正在使用的应用程序池,在右侧菜单中单击“高级设置”。在“常规”下,将“启用32位应用程序”设置为“True”。现在x86选项将可见,并以此模式构建您的应用程序。

2

1

Microsoft.Jet.OLEDB.4.0提供程序未在本地计算机注册

背景

RNT客户端可以在运行Windows XP、Windows Vista、Windows 7或Windows 8 Pro的32位或64位PC上运行,但在Windows XP 64位(及可能的其他操作系统)上,可能会出现一些Microsoft OLEDB DLL未注册的情况。

解决方案1

解决方法是手动注册这些DLL。

转到开始菜单->运行,并键入cmd,这将启动命令提示符(也可从开始菜单->程序->附件->命令提示符中找到)

键入cd \并按回车键

提示现在应显示为C:\>

您需要进入一个特殊的文件夹,该文件夹类似于:

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

尝试键入每个路径。如果显示“系统找不到指定的路径,请尝试下一个”,请使用下一个路径。

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

当其中一个不出现错误时停止,您找到了正确的文件夹。

您需要通过输入以下命令并在每个命令后按回车键来注册OLE DB 4.0 DLLs:

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

*解决方案2 *

要解决此问题,请在Visual Studio中打开项目,然后执行以下操作:

  1. 从“解决方案资源管理器”中右键单击您的项目,然后单击“属性”
  2. 单击“生成”选项卡
  3. 将平台目标从:Any CPU 更改为 x86
  4. 重新构建您的解决方案

0
原因:将Asp.net应用程序托管在64位机器上。但我们的网站引用了一个32位构建的第三方DLL。 逐步解决方案 尽管我尝试了所有的解决方案,但还是陷入了困境,因为我使用了ODBC驱动而非OLEDB。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接