admin 发表于 2023-3-2 19:25:53

Windows Server 2008 64位系统服务器ASP程序-2147467259错误解决方法

<p><ahref="http://www.wangchao.info/wp-content/uploads/2014/12/fuwuqi.jpg"></a><br>
最近帮朋友装个服务器系统环境,系统是Windows server 2008 R2 64位系统。把ASP和PHP环境配置好以后,发现ASP网站不能正常访问。提示错误号是“-2147467259”。上网搜索了资料搞了半天终于解决了。<br>
主要是二个大原因:<br>
1、是64位系统的原因,ACCESS要32位<br>
2、文件夹权限问题 (下面是整理的资料)<br>
有个奇怪的现象,在GOOGLE里搜索错误号“-2147467259”,是找不到相关结果的。<br>
因为微软要放弃access了,所以就没开发access数据库64位的.如果你的win7是64位,同样也不能支持access.<br>
说到这里其实大家就知道为啥 64位 windows2008 R2 版本不支持access原因了.因为access只有64位,但windows2008 r2 64位默认程序都是64位的.由于Win R2是64位系统。在用IIS测试ASP网站时,连接数据库代码总是不成功。”Provider=Microsoft.Jet.OLEDB.4.0;DataSource=”&amp;Server.mappath(db)用这种方式时返回“3706”错误值。<br>
“Driver=Microsoft Access Driver(*.mdb);DBQ=”&amp;Server.MapPath(db)用这种方式时返回“-2147467259”错误值。<br>
因为Win2008 R2 是64位操作系統。而64位操作系统不支持Microsoft OLE DBProvider for Jet驱动程序,也不支持更早的Microsoft Access Driver(*.mdb)方式连接。所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider forJet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了:<br>
“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=”&amp;Server.mappath(db)。<br>
“driver=Microsoft Access Driver(*.mdb);DBQ=”&amp;Server.MapPath(db)。<br>
解决方法:<br>
打开IIS管理器,查看网站的高级属性<br>
应用程序池选项,记住当前使用的应用程序池名称。<br>
也可以在这里直接修改使用的应用程序池。强调一下,无论使用哪个应用程序池都是可以成功启用Access的<br>
——————————————————————————————————<br>
返回,点击左边应用程序池节点,查看刚才使用的应用程序池的高级属性(这里是DafaultAppPool)<br>
启用32位应用程序选项设为True<br>
IIS的设置到此结束<br>
接下来修改一些access临时要用的文件夹访问权限<br>
C:\Windows\temp (典型路径,请根据实际安装路径确定)Users的可读写权限 (我开始的在应用程序池里设置了32位兼容运行,但是还显示错误。这个文件夹设置权限后就正常了。)<br>
C:\Windows\ServiceProfiles\NetworkService\AppDataLocal\Temp<br>
给上面两个文件夹添加Users的可读写权限<br>
如果还不足够,继续给C:\Inetpub\wwwroot\Data(网站数据库、后台文件夹)添加Users的可读写权限。</p>
                                        <p class="post-copyright">未经允许不得转载:<ahref="https://www.wangchao.info/">王超博客</a> &raquo; <ahref="https://www.wangchao.info/78.html">Windows Server 2008 64位系统服务器ASP程序-2147467259错误解决方法</a></p>
页: [1]
查看完整版本: Windows Server 2008 64位系统服务器ASP程序-2147467259错误解决方法