0

64位的操作系统(包括xp,2003,vista,2008等)在使用OLEDB去访问时回收到下面的一个错误

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

问题出在'Microsoft.Jet.OLEDB.4.0' 没有64位的版本。微软好像也不准备出一个64位的版本。

下面是一些目前能采取的解决办法

如果不是WebSite那么你可以采取指定编译的办法
http://cajon.cnblogs.com/archive/2006/05/30/413408.html

如果是WebSite且是IIS6
键入以下命令启用 32 位模式: 
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

如果是IIS7
appcmd list apppool /xml | appcmd set apppool /in /enable32BitAppOnWin64:true

APPcmd.exe 位于C:\Windows\System32\inetsrv 目录

另外一种方式,可以在应用程序池》高级设置》允许32位应用程序设置为True


http://www.cnblogs.com/zhaojin/archive/2012/05/07/2487970.html


解决办法一:

The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
或者 未在本地计算机上注册“Microsoft.Jet.Oledb.4.0”提供程序

原因:没有64位的Microsoft.Jet.Oledb.4.0提供程序
解决:在编译软件时将目标平台(CPU)设置为X86。
方法:
C# 项目属性-》生成-》目标平台,设置为X86
VB 项目属性-》编译-》高级编译选项-》设置目标CPU为X86

 

解决方法二:

IIS 6.0 可支持 32 位和 64 位两种模式。但是,IIS 6.0 不支持在 64 位版本的 Windows 上同时运行这两种模式。ASP.NET 1.1 只在 32 位模式下运行。而 ASP.NET 2.0 在 32 位或 64 位模式下都可以运行。因此,如果想要同时运行 ASP.NET 1.1 和 ASP.NET 2.0,必须在 32 位模式下运行 IIS。

要在 ASP.NET 的不同版本之间切换,请访问以下 Microsoft Developer Network (MSDN) 网站以下载并安装 ASP.NET 1.1 和 ASP.NET 2.0:

http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx (http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx)

例如,如果您正在运行 Microsoft Windows x64 Edition,请下载以下两种可再发行组件包: .NET Framework 版本 2.0 可再发行组件包 x64(64 位) .NET Framework 版本 1.1 可再发行组件包安装可再发行组件包后,您就可以在 ASP.NET 的不同版本之间切换了。为此,应对每个 ASP.NET 版本完成以下操作步骤: ASP.NET 1.1,32 位版本要运行 32 位版本的 ASP.NET 1.1,按照以下步骤操作: 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。 键入以下命令启用 32 位模式:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

键入以下命令,安装 ASP.NET 1.1 版本并在 IIS 根目录下安装脚本映射:

%SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i

确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 1.1.4322 的状态设置为允许。ASP.NET 2.0,32 位版本要运行 32 位版本的 ASP.NET 2.0,请按照以下步骤操作: 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。 键入以下命令启用 32 位模式:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

键入以下命令,安装 ASP.NET 2.0(32 位)版本并在 IIS 根目录下安装脚本映射:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i

确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607(32 位)的状态设置为允许。ASP.NET 2.0,64 位版本要运行 64 位版本的 ASP.NET 2.0,请按照以下步骤操作: 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。 键入以下命令禁用 32 位模式:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

键入以下命令,安装 ASP.NET 2.0 版本并在 IIS 根目录下安装脚本映射:

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.40607\aspnet_regiis.exe -i

确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607 的状态设置为允许注意:ASP.NET 2.0 的内部版本可能随当前发行的内部版本的变化而变化。这些步骤适用于内部版本 2.0.40607。


http://hi.baidu.com/y276827893/blog/item/9721cd43c30cdc0672f05d74.html

关闭 返回顶部
联系我们
Copyright © 2011. 聚财吧. All rights reserved.