我将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"))
%>
答案 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查找权限问题 - 过滤