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编辑  收藏  举报

导航