Vista64与IIS7的 一些问题,asp 以及设置上的。
自从装了64位的Vista之后,问题就一个一个来。现在就连IIS(7.0.6000.16386)里运行一个简单的ASP程序都出问题了。在开始正文之前,我想纠正一些错误认识:
Vista + IIS7支持Asp+Access无需更改应用程序池。
Elvas实践证明,使用默认的DefaultAppPool即可,你甚至可以停用Classic.NET AppPool。
Windows Vista Ultimate版本含有IIS,可以安装IIS。
Windows Vista Ultimate:就是中文翻译的Vista旗舰版,也有人称它为“终极版”。这个版本在Windows Vista 涵盖了Vista开发的几乎所有功能,也是功能最强大的Vista版本。Elvas正在使用的即是Windows Vista Ultimate,所以一切的Q&A将基于64位Windows Vista Ultimate展开。
Question 1:为什么系统中找不到Internet信息服务(IIS)管理器?
Answer 1:系统默认不安装,需要手动安装IIS。步骤:“控制面板\程序\打开或关闭Windows功能”选择你需要的功能。(如果对自己的机器有信心可以选择所有的功能。)
Question 2:访问已经添加并运行服务的网站,为什么返回了“An error occurred on the server when processing the URL. Please contact the system administrator”错误?
Answer 2:这是由你所执行的程序某处存在错误而产生的,并且IIS7设置中默认不向客户端浏览器发送具体的错误信息。所以你需要在IIS中设置一下:左侧选中网站目录,“功能视图”中“IIS”选择“ASP”打开,展开“编译\调试属性”并设置“将错误发送到浏览器”为True,再将“行为”中的“启用父路径”设置为True。
Question 3:提示“不允许的父路径。”
Answer 3:同2,在“ASP”设置中的将“行为”中的“启用父路径”设置为True。
Question 4:“未指定提供程序,也没有指派的默认提供程序。”
Answer 4:这就是一个典型的64位系统问题,由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。这一点在Microsoft的网站上得到了证实。用于 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位:“服务器/应用程序池/DefaultAppPool/设置应用程序池默认设置/(常规)/启用32位应用程序/True”。
另外一点,SQL数据库链接是可以在64位机上运行的,链接字符串为:"PROVIDER=SQLOLEDB;DATA SOURCE="&SqlLocalName&";UID="&SqlUsername&";PWD="&SqlPassword&";DATABASE="&SqlDatabaseName
Question 5:“磁盘或网络错误”、“未指定的错误” 、“Microsoft JET Database Engine 错误 '80004005' 未指定的错误”、“Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access 驱动程序] 磁盘或网络错误”。
Answer 5:产生这样的错误是由于IIS没有读取IE缓存的权限而引起的。(错误取决于你使用哪种方式连接Access数据库)只需设置缓存目录的权限即可,打开文件夹:(注意,AppData 文件夹是隐藏文件夹)
“C:\Windows\ServiceProfiles\NetworkService\AppData\Local\”,在Temp上点击右键,依次点击“属性”、“安全”、“编辑”、“添加”,然后输入“Authenticated Users”并点击确定。然后在Authenticated Users的权限里面,设置“完全控制”和“修改”的权限。
Question 6:Q4、Q5都已经解决,但是仍然提示错误。
Question 6:重新安装或注册机器的Access驱动,msadds.dll(OLE DB Data Shape)。在运行命令里面输入:(64位“REGSVR32 "C:\Program Files (x86)\Common Files\System\Ole DB\MSDASQL.DLL"”);(32位“REGSVR32 "C:\Program Files\Common Files\System\ole db\MSDASQL.DLL"”)
Question 7:还是没有办法解决1-6的问题。
Answer 7:很抱歉,对于这方面的问题,Elvas告诉你国内应该没有人可以帮助你了。(-_-)
posted on 2009-06-05 16:22 heavencoud 阅读(466) 评论(0) 编辑 收藏 举报