Vista IIS7 中 ASP+ACCESS 环境的配置

来源:百度文库 编辑:神马文学网 时间:2024/05/01 01:47:44

 

下面的方法也可以用在win7 中

  1. Vista 下的 IIS 只需要在 "打开关闭 Windows 功能" 中启用即可, 但启用时别忘了选中 ASP.
  2. IIS 安装成功后像从前那样修改默认站点的虚拟目录和默认文档, 指向 Z-Blog 安装目录, 这时网站可以打开, 数据库无法连接.
  3. 进入IIS设置, 在网站默认设置或站点的基本设置中, 将 "应用程序池" 从 "DefaultAppPool" 改为 "Classic .NET AppPool". (见注一)
  4. 点击站点 - 双击在 IIS 组里的 ASP 图标 - 展开 "行为" - 将 "启用父路径" 设为 "True".
  5. 展开 ASP 的 "限制属性", 将其中的 "最大请求实体主体限制" 从 "200000" 改为更高. (增大上传文件体积限制, 可选)
  6. 在文件夹选项里显示隐藏文件, 然后给 "系统盘:Windows\ServiceProfiles\NetworkService\AppData\Local\Temp" 目录添加一个 "Authenticated Users" 的用户, 并为其赋予 "完全控置" 的权限.
  7. 额外的, 为 Dutory 新建一站点 (不是虚拟目录) 时, 无使用任意可用 IP + 其它端口, 如 *:8008, 只能指定一具体 IP, 如 192.168.1.202:8008. 这个注意下.

注一: 如果不小心在 "应用程序池中" 删掉了 "Classic .NET AppPool", 或改乱了配置. 只要添加一个应用程序池, 随便起个名, 比如 "esloy.web", 在 "基本设置" 中将 "托管管道模式" 设为 "经典", 然后在网站或站点设置中将 "应用程序池" 设为 "esloy.web". 也是一样. 实际上, 我就是设为 "DefaultAppPool" 也照常使用, 没发现有什么不同.

 

附录: 在 NTFS 分区中为 IIS (ACCESS 连接) 配置权限.

  1. 文件夹选项->查看 把文件的简单共享去掉 (2K/XP)

  2. 右击数据库目录, 在安全选项卡里, 加上IUSR_XX (XX为你的机器名) 的可修改权限. (也可直接加入 guests 组或 everyone 修改权限. 不推荐)

  3. 给 "系统盘:\windows\temp" 文件夹加上everyone的完全控制权限. (2003)

补充一个另外的错误, 重新注册VB和JS运行库, 可能用得到:(过程很痛苦,不多说,以下面这个错误开始:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。它已经被别的用户以独占方式打开,或没有查看数据的权限。我想这个错误对于使用Vista又想用ASP+Access的人来说就像每天早餐吃面包加牛奶一样司空见惯了(加个鸡蛋貌似也不错)。有时会出现另外的错误,形如:An error occurred on the server when processing the URL. Please contact the system administrator.
恭喜你,你引发了一个Error,至于这个Error是什么,我也不知道。解决方案:打开IIS7的ASP设置的“调试属性”选项,“将错误发送到浏览器”设为True,然后点右边的应用即可。
解决了该错误后,再次恭喜你,你有机会遇到第一个Error了。第一个问题出现的情况只有两种,这里直接说权限的问题,首先按照网上能广泛找到的,设置父路径给Vista安装目录C:\windows\ServiceProfiles\NetworkService\AppData\Local\Temp目录添加一个"Autheticated Users"的读写或完全控制权限。到这里有很多人依然无法连接Access的数据库,这里是由于在NTFS分区下另需配置权限,如下:
  1. 文件夹选项->查看把文件的简单共享去掉 (2K/XP)

  2. 右击数据库目录, 在安全选项卡里, 加上IUSR_XX (XX为你的机器名) 的可修改权限. (也可直接加入 guests 组或 everyone 修改权限. 不推荐)

  3. 给 "系统盘:\windows\temp" 文件夹加上everyone的完全控制权限. (2003)
    Provider 错误 '80004005'
    未指定的错误


    Set conn=Server.CreateObject("ADODB.CONNECTION")
    conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example.mdb")
    第二行改写为
    conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("example.mdb")

    很显然这里我们采用了另一种方式避过了这个问题。
    一劳永逸的解决方案是:
    Winkey + R
    regsvr32 jscript.dll (修复Java动态链接库)
    Winkey + R
    regsvr32 vbscript.dll (修复VB动态链接库)
    Winkey + R
    iisreset (重启IIS)

    Congratulations! OK,现在我们终于可以开始 DoubleA(ASP + Access)了。