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

来源:互联网 发布:qt tcp socket编程 编辑:程序博客网 时间:2024/05/01 06:08

说明:在开发中,常常会操作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/)
原创粉丝点击