64位IIS中使用Microsoft.Jet.OLEDB.4.0操作EXCEL及ACCESS

说明:在开发中,常常会操作EXCEL文件,但64位系统有些变化,本文有解决方案,特收藏之。


原题:设置64位机器上的IIS(IIS6/IIS7)兼容32位程序  

由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.mappath(db)

"driver=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath(db)

既然这样,就只能使用一个办法,将IIS的运行环境设置为32位:

IIS6上的做法:

1.命令行键入:

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

即设置IIS6允许32位程序运行在64位机器上

2.重新注册.net FrameWorks

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

3.完成之后,应该会看到多出一个32位的asp.net,如下图:

转:64位IIS(IIS6/IIS7)上运行Jet.Oledb的设置 - 心通CTC数字校园 - CTC数字校园研究所

将其设置为允许,缺点:这样会使整个IIS上的所有站点都以32位兼容方式运行

       然后再运行一下:%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

      这样就可以跑32位的程序了。

不过在IIS7上的做法要简单很多:

应用程序池,高级设置-->允许32位应用程序,如下图:

转:64位IIS(IIS6/IIS7)上运行Jet.Oledb的设置 - 心通CTC数字校园 - CTC数字校园研究所 

最好专门针对兼容32位应用驱动新建一个应用池。

                                                                                          (源文出处:http://guojun2sq.blog.163.com/blog/static/6433086120101128102545619/)
在导入Excel2007数据表时,如果提示".NET未在本地计算机上注册'Microsoft.ACE.OLEDB.12.0'提供程序",可能是由以下原因引起的: 1. 没有安装数据访问组件或安装的版本不匹配。您需要安装与您的应用程序兼容的相应版本的数据访问组件。 2. 没有安装相应版本的Office客户端。如果您的应用程序依赖于Office客户端,您需要安装与您的应用程序兼容的相应版本的Office客户端。 3. 在64位系统上,Microsoft.Jet.OLEDB.4.0不支持,需要将架构从x64改为x86。您可以通过修改连接字符串或安装AccessDatabaseEngine x64数据访问组件来解决此问题。无论是WinForm还是ASP.NET应用程序,都需要进行相应的修改。 4. 没有在IIS应用程序池配置默认属性。您需要在相应的IIS应用程序池启用32位应用程序。 在解决此问题时,您可以根据具体情况采取以下措施: - 确保已安装与您的应用程序兼容的数据访问组件和Office客户端。 - 如果您的应用程序在64位系统上运行,并且使用Microsoft.Jet.OLEDB.4.0提供程序,请将架构从x64改为x86。 - 如果您的应用程序在IIS运行,请确保已在应用程序池启用了32位应用程序。 通过采取上述措施,您应该能够解决".NET未在本地计算机上注册'Microsoft.ACE.OLEDB.12.0'提供程序"的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序](https://blog.csdn.net/duyusean/article/details/69345988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解决办法](https://download.csdn.net/download/weixin_38692631/14006460)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值