将asp网站从iis6移植到iis7 windows 2008

时间:2013-06-19 00:38:37

标签: iis-7 asp-classic

我将iis网站从Windows 2003 iis6移动到2008 iis 7.由于某种原因,这个asp代码停止了工作。我启用了跟踪,这就是我得到的:

  

ErrorCode 800a000d描述类型不匹配。

我在If broj > 0 Then行上得到它。这是因为经典的asp不能在IIS7上工作吗?

 <%
      Dim cate, SQL, broj
      cate = Request("cate")


      SQL = "select count(*) as count from members where category_id = '" & cate & "' and status_flag <> 'NON-MEMBER' and status = 'APPROVED' order by company;"
      rs.Open SQL,Con,adOpenKeyset,adLockOptimistic
     broj = rs("count")


      If broj > 0 Then   // <-- this is the line where i get error ErrorCode 800a000d Description Type mismatch//

         rs.close
         rs.PageSize = 3
         rs.CursorLocation = adUseClient

         SQL = "select * from members where category_id = '" & cate & "' and status_flag <> 'NON-MEMBER' and status = 'APPROVED' order by company;"
         rs.Open SQL,Con

         datum = MonthName(Month(rs("last_updated"))) & " " & Day(rs("last_updated")) & ", " & Year(rs("last_updated"))

      %>

1 个答案:

答案 0 :(得分:0)

这是我将一堆经典ASP网站从IIS 6移动到7时放在一起的清单:

(1)不要在最后用.com命名站点文件夹。

(2)创建用户帐户: - [app pool用户标识]为app_pool_blahblahblah,pw:xxxxxx

(3)在服务器管理器中,右键单击“Web服务器(IIS)”并选择“添加角色服务”。添加IIS 6管理兼容性。

(4)在服务器管理器中,在功能下添加SMTP服务器。 尽可能安装IIS6资源工具包 使用Metabase Explorer。 授予[app pool user identity]用户对IIS Metabas中/ Local Machine / SmtpSvc /和/ Local Machine / SmtpSvc / 1 /节点的读访问权

(5)在应用程序池中,高级设置: - 将.Net Framework版本设置为“v2.0”&lt; - 修复了默认asp doc无法解决的问题! - 将“启用32位应用程序”设置为TRUE。 - 将托管管道模式设置为“经典”。 - 在Process Model下,将Identity更改为我们创建的“[app pool user identity]”帐户。 - 确保“加载用户配置文件”设置为FALSE。 - 确保“最大工人进程”为“1”。

(6)邮件:在IIS 6管理控制台中: http://intellitect.com/configuring-windows-smtp-server-on-windows-2008-for-relay/ - 在SMTP虚拟服务器属性下:      - “访问”标签 - &gt;中继:添加此框的IP,包括127.0.0.1      - “交付”标签 - &gt;高级:为“完全合格的域名”放置框的名称      - “交付”标签 - &gt;高级:为“智能主机”添加“dedrelay.secureserver.net”      - “交付”标签 - &gt;出站连接:确保将限制设置为100。      - “安全”标签 - &gt;添加“[app pool user identity]”和IIS_IUSRS

(7)在IIS 7.5下的网站: - 在ASP下:      - 仅在出现问题时:将启用缓冲设置为“false”      - 在限制下,将max req实体和缓冲限制更改为1024000000      - 将脚本语言设置为“vbscript”      - 将“发送错误到浏览器”设置为true - 身份验证 - &gt;编辑“匿名身份验证”并设置为应用程序池标识 - 仅在出现问题时:在错误页面下:404下设置为“/home.asp”和“执行URL” - 仅在出现问题时:编辑c:\ windows \ system32 \ inetsrv \ config \ applicationHost.config:更改为“允许” - 在管理下(在底部)进入“配置编辑器”。      - 在下拉列表中转到System.web - &gt; http运行时并将maxRequestLength更改为1024000000      - 在下拉列表中转到System.webserver / security / requestFiltering - &gt; chg allowDoubleEscaping = true

(8) 为以下文件夹设置“修改”权限: - windows \ temp - inetpub \ temp - inetpub \ mailroot - 仅在出现问题时:windows \ serviceprofiles \ networkservice \ AppData \ Local \ Temp?

AND在注册表中设置权限: - 只有问题:HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ Jet \ 4.0 \ Engines?

对于这些用户帐户: - IIS_IUSRS - [app pool用户身份] - 网络服务

(9)安装并使用Process Monitor查找权限问题 - 过滤