windows server 2003 64x 读取office数据终极解决办法 The 'Microsoft.Jet.OLEDB.4.0' provider is not registered

来源:互联网 发布:淘宝修改店铺名称 编辑:程序博客网 时间:2024/05/22 06:08

      微软老子信了你的邪!

     试了各种办法没有效果

网友解决办法一:

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。


上面的办法都是网友空间写到的第一种在2003 64位系统下没有效果,或许在2008下才有效果吧,反正我是各种测试没成功。

第二种办法不能完全兼容两种模式,而且配置很烦躁得自己去做实验。


我的解决方案:

1.微软在office2010中提供64位的数据访问包,下载地址http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=13255,下载

Microsoft Access 2010 数据库引擎可再发行程序包64位版(不用安装office及其他组件)。

2.修改连接字符串为  Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 高版本向下兼容所有2010office及一下的版本都兼容。
OK! 

原创粉丝点击