2011-11-16 70 views
7

我的应用程序出现问题。当它运行时,错误显示“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册

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

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

请告诉如何摆脱这个错误。

谢谢

+0

看看这个主题 - http://social.technet.microsoft。com /论坛/ en/w7itproappcompat /线程/ 14041b74-6ca6-49be-af90-d8ff3f962724 – adatapost

+2

不应该你的问题是“为什么我不能改变目标CPU”,因为这是令人费解的事 – hawbsl

+0

“我试着改变平台到X86 CPU,但是它不能改变“ 如果其他人也有这个问题,请先试试这个:如果您使用的是Visual Studio,可以在Project Properties> Build> Platform target下更改该平台。如果您检查Solutions Platform,它可能只显示任何CPU。 –

回答

5

您使用的是Jet.OLEDB.4.0驱动程序,当在64位系统上运行,这给出了错误, 最好是安装新的驱动程序的Microsoft Access数据库引擎2010可再发行

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

您还需要将连接字符串从“Provider = Microsoft.Jet.OLEDB.4.0; “到‘供应商= Microsoft.ACE.OLEDB.12.0;’

参考从我的博客64 bit version of ‘Microsoft.Jet.OLEDB.4.0’ Office 2007/2010 Jet drivers

希望这会有所帮助。

3

打开IIS管理器,选择Application Pools,选择您正在使用的应用程序池,单击右侧菜单中的Advanced Settings。在常规下,设置"Enable 32-Bit Applications" to "True".

现在的x86选项将是可见的,建立自己的应用程序在此模式下

0

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

RNT客户可以在运行Windows XP,Windows Vista,Windows 7或Windows 8 Pro的32位或64位个人电脑上运行,但在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

当这些中的一个不导致错误,停下来,你找到了正确的文件夹。

您需要通过每个

  • REGSVR32 Msjetoledb40.dll
  • REGSVR32的Msjet40.dll
  • REGSVR32 Mswstr10.dll
  • REGSVR32后键入以下命令并按回车键注册OLE DB 4.0的dll Msjter40.dll
  • regsvr32 Msjint40.dll

* 溶液2 *

要解决此问题,打开Visual Studio中的项目,然后:

  1. 从Solution Explorer中右键单击您的项目,然后单击属性
  2. 点击Build标签
  3. 从更改目标平台:任何CPU的x86
  4. 重新构建解决方案
0

原因:在64位机器上托管Asp.net应用程序。但我们的网站引用了第三方DLL,它是以32位构建的。 step by step solution 一旦我试过所有的解决方案,但我被卡住了,因为我使用OLEDB的ODBC驱动器。

相关问题