存储过程执行正确asp总是等待到超时
程序:
<%
set cn = Server.CreateObject("ADODB.Connection")
cnstr="Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=niandu;Data Source=aaa "
on error resume next
cn.open cnstr
if err.number <> 0 then
response.redirect("../err.asp?xx=不能连接数据库,可能是WEB数据库服务器没有启动111")
end if
%>
<%
set rs=server.CreateObject("adodb.recordset")
set rs=cn.execute("exec prc_qy_sds_hzb '"&request.form("zsfs")&"','"&request.form("fj")&"%','"&request.form("xz")&"','"&request.form("jyhy")&"','"&request.form("jjlx")&"','"&request.form("sd")&"','"&request.form("jkjb")&"','"&request.form("zdsyh")&"','"&request.form("jms")&"','"&request.form("yl")&"'")
do while not rs.eof
%>
<tr bgcolor="#FFFFFF">
<td width="12%"><%=rs("row_name")%></td>
<td width="4%"><%=rs("c1")%></td>
<td width="5%"><%=rs("c2")%></td>
<td width="4%"><%=rs("c3")%></td>
<td width="4%"><%=rs("c4")%></td>
<td width="5%"><%=rs("c5")%></td>
<td width="5%"><%=rs("c6")%></td>
<td width="5%"><%=rs("c7")%></td>
<td width="5%"><%=rs("c8")%></td>
<td width="4%"><%=rs("c9")%></td>
<td width="5%"><%=rs("c10")%></td>
<td width="6%"><%=rs("c11")%></td>
<td width="5%"><%=rs("c12")%></td>
<td width="5%"><%=rs("c13")%></td>
<td width="6%"><%=rs("c14")%></td>
<td width="6%"><%=rs("c15")%></td>
</tr>
<%
rs.movenext
loop
rs.close
%>
<%
if isObject(cn) and not isNull(cn) then
cn.Close()
end if
if isObject(cn2) and not isNull(cn2) then
cn2.Close()
end if
%>
其他页面也采用了类似执行存储过程方式,但数据量较小,程序运行正常。
但是当这里的存储过程,在查询分析器每次运行需要2分钟左右才能产生数据时,asp总是等待。
请帮忙看看,谢谢
问题点数:100、回复次数:9Top
1 楼mrwang2000(王先生)回复于 2006-02-08 13:00:02 得分 30
个人意见,仅供参考:
试一下,在程序中修改数据库连接时间上限或asp超时时间上限Top
2 楼sunshift(http://www.56390.com/)回复于 2006-02-08 13:30:57 得分 10
在页首添加
Server.ScriptTimeout = 9999
======================
免费广告 闪亮登场 [ 物流中国 www.56390.com ]
http://www.56390.com/
http://www.56390.com/Ads.htm
物流中国 www.56390.com 中国最大的物流黄页
Top
3 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-02-08 13:48:25 得分 10
一、把on error resume next注释掉看看有没错误产生
二、数据量过大Top
4 楼boyd1985(波伊德乐园->http://www.boyd.cn)回复于 2006-02-08 13:56:17 得分 20
一:更改IIS里的脚本超时时间,
二:在网页里加入超时限制代码:Server.ScriptTimeout =。。。
三:捕获异常:
on error goto errhandle
再设置errhandle内容即可。Top
5 楼boyd1985(波伊德乐园->http://www.boyd.cn)回复于 2006-02-08 13:56:57 得分 10
另外,检查你的存储过程,看执行时间是不是同样很长?精简代码Top
6 楼jamila8(曾)回复于 2006-02-08 14:07:25 得分 5
检查字段属性,,把存储过程代码贴出来看看...Top
7 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-02-08 14:14:58 得分 5
on error goto label是VB里的东东VBS里没有的呵呵。Top
8 楼jrl5365(king007)回复于 2006-02-08 16:13:08 得分 5
可能你的数据太大,优化一下你的储存过程,加索引Top
9 楼yifa(爱做不做)回复于 2006-02-10 16:47:55 得分 5
cn.ConnectionTimeOut = 300
增加连接的时间看看Top




