Welcome to WebmasterWorld Guest from 54.166.191.159

Forum Moderators: ocean10000

Message Too Old, No Replies

Problems with asp. Microsoft VBScript runtime error '800a001c'

     
1:51 pm on Oct 15, 2002 (gmt 0)

10+ Year Member



Hi I'm looking for any info on this error, I have been looking around but can't find what I want to know. Could someone help me out please. Here is the full message.
Thanks
fintan.

Time Period: 5Hours

Microsoft VBScript runtime error '800a001c'

Out of stack space: 'funcSummarySort'

/Common.asp, line 125

11:54 am on Oct 16, 2002 (gmt 0)

10+ Year Member



This probably means that the function "funcSummarySort" is recursively calling itself in an infinite loop and therefore the script has run out of stack space. If you are calling a function recursively make sure that it returns at some point of time.
2:03 pm on Oct 17, 2002 (gmt 0)

10+ Year Member



Right I fixed the problem with this bit of code inserting it before the error occurred.

"On error Resume Next"

I've moved on to a new error

Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near 'AND14'.

/PolicySummary.asp, line 50

Can someone tell me what it means please. Thanks

fintan

2:12 pm on Oct 17, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



"On Error Resume Next" has not fixed the error it merely suppresses it, as it is still happening but it is not totally killing the script.

I'd be very nervous about doing this - infinite recursive loops are a major resource drain and if this script gets used a lot you might find your hosting company having a few words about it if you are on a shared server.

The new error probably relates to a SQL statement where instead of using "AND" you have used "AND14".

I don't mean to be funny but for ASP errors it's often useful for us to be able to see the partial source that is generating the problem as we can often spot things you can't and can offer real solutions which solve the problem rather than disguising it.

- Tony

2:40 pm on Oct 17, 2002 (gmt 0)

10+ Year Member



I did know that it suppresses the error. You see the asp pages are designed to run reports and track certain email ativities in the organisation. Now the code is someone else's and I am just modifying it to our needs. I don't have to worry about banwidth or resource drain since the reports won't be day 2 day but mounthly. Plus we do have the resources to accomadate them.

Here is the code that where the first error occoured

'Modified to fix this error.
'Time Period: 5Hours Microsoft VBScript runtime error
'800a001c' Out of stack space: 'funcSummarySort' /Common.asp, line 125
On error Resume Next
'Modification ends

'== 2 or more items in first section
if loBound < (hiSwap - 1) then Call funcSummarySort(vec,vec1,loBound,hiSwap-1)

'== 2 or more items in second section
if hiSwap + 1 < hiBound then Call funcSummarySort(vec,vec1,hiSwap+1,hiBound)
End function

Can you see anything that I can do to fix it.

2:41 pm on Oct 17, 2002 (gmt 0)

10+ Year Member



Here is the SQL statement.

' open the database connection
sqlSrv.Open strConn
' if the connection was made then execute the query
If sqlSrv.State = adStateOpen Then
query="SELECT goaEngineDetail.StartTime strMsgTime, CategoryMap.MappedValue strScenario, moaMessage.MsgSize strMsgSize, moaMessage.ID strMsgID "+ _
"FROM ( goaEngineDetail goaEngineDetail INNER JOIN moaMessage moaMessage ON goaEngineDetail.ID = moaMessage.ID ) INNER JOIN goaCategoryMap CategoryMap ON moaMessage.Category = CategoryMap.MapID "+ _
"WHERE goaEngineDetail.StartTime "&strTime + _
"ORDER BY CategoryMap.MappedValue ASC ,goaEngineDetail.StartTime asc"

' response.Write (query)
' You will need to check the order of fields being returned from the SQL Query and enter the text bellow
dim arrayHeading (3,1)
arrayHeading (0,0)="Time Processed"
arrayHeading (0,1)="nowrap"
arrayHeading (1,0)="Scenario"
arrayHeading (2,0)="Message Size"
arrayHeading (3,0)="Message ID"

dim arrayBody (3)
'Execute the query
Set RS = sqlSrv.Execute(Query)
' Get summary data
funcSummaryCount "strScenario"
' Graph some data More likely Summary Data

3:04 pm on Oct 17, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



The SQL question doesn't have an obvious answer from the basic structure, any chance of getting a look at the exact SQL which is being run?

<added>This next bit assumes the SQL statement breaking the script is located after the "'Execute the query" line</added>

If you insert the following after the "'Execute the query" line you should be able to see the SQL being used;

response.write Query
response.end

The other question on the face of it seems to be a logic flaw - there must be a scenario where the code either iterates too many times or doesn't modify the values as expected.

I'll take a look at this but it's doubtful I'll spot the problem due to not knowing what the code is trying to do - you might be better off debugging the script with response.write's to figure out what the values are doing.

An example of this was a patch script I wrote this morning, I tested for a "greater than" scenario and a "less than" scenario but if the results were equal it fell through generating a null result - puzzled me a treat until I spotted the hole in my logic.

- Tony

3:57 pm on Oct 17, 2002 (gmt 0)

10+ Year Member



case "Custom"
if request("Starttime")<>"" then
'Modified "AND" TO " AND "
strStart = "Between "& request("Starttime") &" AND "
else
strStart = " < "
end if
if request("Endtime") <>"" then
strEnd = request("EndTime")
else
strEnd = "getDate ()"
end if
strTime = strStart & strEnd
end select
end function

function funcHeading (arrayHeading)
dim intCount, intCurrent
intCount=ubound(arrayHeading)

Made a slight modification to "AND" . That got us onto this error

Microsoft VBScript runtime error '800a0009'

Subscript out of range: 'loSwap'

/Common.asp, line 100

Do you want me to post all of the script or email you the files. Thanks for you help.

12:09 am on Oct 18, 2002 (gmt 0)

10+ Year Member



try this

intCount=ubound(arrayHeading) -1

8:13 am on Oct 18, 2002 (gmt 0)

10+ Year Member



No doesn't work, I dont know if you recieved the files, if you didn't give me a shout.
8:43 am on Oct 18, 2002 (gmt 0)

10+ Year Member



"If you insert the following after the "'Execute the query" line you should be able to see the SQL being used; "

This is the responce to the (query)

SELECT DISTINCT Recipients.MappedValue strReciverAddress , Senders.MappedValue strSendersAddress , moaMessage.MsgSize strMsgSize , goaEngineDetail.StartTime strMsgTime FROM (((moaMessage moaMessage INNER JOIN goaEngineDetail goaEngineDetail ON moaMessage.ID = goaEngineDetail.ID) INNER JOIN moaRecipients moaRecipients ON moaMessage.ID = moaRecipients.MapID) INNER JOIN moaAddressMap Senders ON moaMessage.Sender = Senders.MapID) INNER JOIN moaAddressMap Recipients ON moaRecipients.MappedValue = Recipients.MapID WHERE goaEngineDetail.StartTime Between 15/10/02 AND 18/10/02 ORDER BY Recipients.MappedValue ASC, Senders.MappedValue ASC

 

Featured Threads

Hot Threads This Week

Hot Threads This Month