2013-06-19 44 views
0

我将iis网站从Windows 2003 iis6移至2008 iis 7.出于某种原因,此代码停止工作。我启用了跟踪,这是我得到的:将asp网站从iis6移植到iis7 windows 2008

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

你尝试过“如果cint(broj)> 0' – John

+0

您可以使用该代码开放SQL注入,您可能需要清理它,即使它是内部的。 John的上述答案是正确的,无论出于何种原因,数据似乎都以字符串形式返回,而不是int形式。 – silver

回答

0

下面是一清单我放在一起,同时移动一堆从IIS 6经典ASP网站以7:

(1)不要在最后的名字与.COM站点文件夹。

(2)创建用户帐户: - [应用程序池的用户身份]是app_pool_blahblahblah,PW:XXXXXX

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

(4)在服务器管理器下的功能添加SMTP服务器。 安装IIS6资源工具包,以便您可以 使用Metabase Explorer。 格兰特的[应用程序池用户身份]用户读访问/本地计算机/ SMTPSVC /和/本地计算机/在IIS Metabas

SMTPSVC/1 /节点

(5)在应用程序池,高级设置: - 将.Net Framework版本设置为“v2.0”< - 修复了默认的asp文档无法正常工作的问题! - 将“启用32位应用程序”设置为TRUE。 - 将管理管道模式设置为“Classic”。 - 在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虚拟服务器属性: - “访问” 选项卡 - >继电器:加这个盒子,包括127.0.0.1 的IP地址 - “Delivery”选项卡 - >高级:对于“完全合格的域名”,输入框名称 - “Delivery”选项卡 - >高级:对于“智能主机”放置“dedrelay.secureserver.net” - “Delivery “选项卡 - >出站连接:确保限制设置为100. - ”安全“选项卡 - >添加”[应用程序池用户身份]“和IIS_IUSRS

(7) : - 在ASP下: - 只有如果问题:将启用缓冲设置为“false” - 在限制下将max req实体和缓冲限制更改为1024000000 - 将脚本语言设置为“vbscript” - set“send errors浏览器“为真 - 身份验证 - >编辑”匿名身份验证“并设置为应用程序池标识。
- 只有问题:在错误页面下:在404下设置为“/home.asp”和“执行URL” - 只有如果问题:编辑c:\ windows \ system32 \ inetsrv \ config \ applicationHost.config:更改为“允许” - 管理下(底部)进入“配置编辑器”。 - 在下拉列表中选择系统。网络 - > HTTP运行,改变了maxRequestLength至10.24亿 - 在下拉去System.webserver /安全/的requestFiltering - > CHG allowDoubleEscaping =真

(8) 集 “修改” 以下文件夹的权限: - windows \ temp - inetpub \ temp - inetpub \ mailroot - 仅当问题:windows \ serviceprofiles \ networkservice \ AppData \ Local \ Temp?

AND Set Permissions in registry: - 只有问题:HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ Jet \ 4.0 \ Engines?

FOR这些用户帐户: - IIS_IUSRS - [应用程序池的用户身份] - NETWORK SERVICE

(9)安装和使用进程监视器发现权限问题 - 过滤

相关问题