Active Server Pages error 'ASP 0113' Script timed out

J

Justin Doh

I am constantly getting the 'Script timed out' error, and would like to see
if there is any way I could modify the ASP page.

I think I did all I could to improved the performance at the database table
level, but when it comes to the ASP, the error occurs most of time.
This error happens when this ASP page has been moved to a new server.

I modified the "server.ScriptTimeout = " at the ASP and also at IIS.
The report does not retrieve the whole records, but it stops in the middle,
and giving this error message.

I am also curious whether .AbsolutePosition might be a factor? But on the
previous server, I had no problem.

Here is the part of ASP page where it retrieves a data.

strSQL = "spHWABPOOrderSelect_1 " & nAcctNum
Dim rsHBSBPOOrder : Set rsHWABPOOrder = New clsRecordSet
With rsHBSBPOOrder
.ConnectionString = ConnHBS
.Load(strSQL)
Dim nTmp
Do While Not .EOF
if .AbsolutePosition = 0 Then
nBPO1Val = Trim(.Fields("curBPOAsIs")&"")
If Len(nBPO1Val) <> 0 Then
nBPO1Val = FormatCurrency(nBPO1Val, 0)
End If
nTmp = nBPO1Val
dtBPO1 = Trim(.Fields("dtReceived")&"")
ElseIf .AbsolutePosition = 1 Then
nBPO2Val = Trim(.Fields("curBPOAsIs")&"")
If Len(nBPO2Val) = 0 Then
nBPO2Val = nTmp
Else
nBPO2Val = FormatCurrency(nBPO2Val, 0)
End If
dtBPO2 = Trim(.Fields("dtReceived")&"")
End If
.MoveNext
Loop
End With
Set rsHWABPOOrder = Nothing
 
B

Bob Barrows [MVP]

This procedure can never return more than 2 records?
If it can, why are you bothering to continue looping through it when
absoluteposition is > 1?
Also, why don't you rewrite the procedure to only return two records?

You don't show where the value contained in nAcctNum comes from, but you
are aware that using this technique to execute a procedure leaves you
vulnerable to sql injection, don't you?
 
J

Justin Doh

Hi Bob,

I appreciate for your feedback.

I am not sure how I could modify the Do While Loop..
Do you have any suggestions?
I know I am only getting two values, but doesn't it have to go through the
end of file?

Regards to your second feedback, I am not sure what you meant.
You don't show where the value contained in nAcctNum comes from, but you
are aware that using this technique to execute a procedure leaves you
vulnerable to sql injection, don't you?
 
B

Bob Barrows [MVP]

Justin said:
Hi Bob,

I appreciate for your feedback.

I am not sure how I could modify the Do While Loop..
Do you have any suggestions?
I know I am only getting two values, but doesn't it have to go
through the end of file?

No. If you are only getting two records, you don't even need a loop.

With rsHBSBPOOrder
.ConnectionString = ConnHBS
.Load(strSQL)
Dim nTmp
If not .EOF Then
'recordset is automatically pointing at first record
If Len(nBPO1Val) <> 0 Then
nBPO1Val = FormatCurrency(nBPO1Val, 0)
End If
nTmp = nBPO1Val
dtBPO1 = Trim(.Fields("dtReceived")&"")
.MoveNext
If not .EOF Then
'recordset is now pointing at second record
nBPO2Val = Trim(.Fields("curBPOAsIs")&"")
If Len(nBPO2Val) = 0 Then
nBPO2Val = nTmp
Else
nBPO2Val = FormatCurrency(nBPO2Val, 0)
End If
dtBPO2 = Trim(.Fields("dtReceived")&"")
End If
End If
..Close '<---
End With
Set rsHWABPOOrder = Nothing

<--- I added the .Close statement, but I recognize I may not have had
to. Does your clsRecordSet class have a Terminate event in which the
recordset and connection are closed? I do hope you are explicitly
closing the database connection ...
Regards to your second feedback, I am not sure what you meant.
See what happens if nAcctNum contains something like

1234;create table test (testcol int);

Read about sql injection in these links:
http://www.sqlsecurity.com/DesktopDefault.aspx?tabid=23
http://www.nextgenss.com/papers/advanced_sql_injection.pdf
http://www.nextgenss.com/papers/more_advanced_sql_injection.pdf
http://www.spidynamics.com/papers/SQLInjectionWhitePaper.pdf
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,019
Latest member
RoxannaSta

Latest Threads

Top