Toon posts:

[ASP] Buffer object error

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Na veel zoeken en struinen kom ik toch weer bij Tweakers uit.
Ik kan namelijk de oplossing niet vinden. Ook niet via de search van Tweakers.

Het probleem is dit:

Response object error 'ASP 0251 : 80004005'

Response Buffer Limit Exceeded

/Support/Open.asp, line 0

Execution of the ASP page caused the Response Buffer to exceed its configured limit.

Dit is de code:
-----------------------------
<body>
<%
KlantNummer = Request.QueryString("KlantNummer")
if KlantNummer="geen" or KlantNummer="" then

'Overzicht alle openstaande storingen
'Oude query = SQLQuery = "SELECT * FROM [Storingen] WHERE tkStatus <> 'Gereed'"

set objConnection = Server.createobject("ADODB.Connection")
objConnection.Open "CustSup", "web_supportuser","web_supportuser"
SQLQuery = "SELECT * FROM [Storingen]"
set rsStoringen = objConnection.Execute(SQLQuery)

AantalRecords = 0
do while not rsStoringen.eof
AantalRecords = AantalRecords + 1
rsStoringen.MoveNext
loop
rsStoringen.MoveFirst
%>
-----------------------------------------------------------------------

Ik gebruik IIS 6.0 en SQL 2000.
Heb trouwens de ASP script timeout al verhoogt, maar geen oplossing...

Wie kan mij helpen?

[ Voor 12% gewijzigd door Verwijderd op 05-11-2003 14:28 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Tel je alleen records???? Waarom gebruik je niet de recordcount property van je recordset daarvoor?
Het lijkt me echter dat je wat code achterwege hebt gelaten?
En heb je al Response.buffer = false geprobeerd?

[ Voor 10% gewijzigd door RobIII op 05-11-2003 14:31 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Het lijkt me duidelijk dat je response buffer volloopt. TE vol om precies te zijn. Zoals RobIII ook al aangeeft: dit is waarschijnlijk niet alle code...?

Wat betreft RecordCount: dat hoeft niet altijd te werken, omdat je niet altijd ook echt de recordcount terugkrijgt, maar soms gewoon een true of false waarde (records ja/nee).
Toch is er een (veel) betere manier om achter het aantal records te komen, namelijk met een query. Maak een count-querietje en laat deze een keertje lopen. Je hebt dan het aantal records binnen no-time te pakken. Dit is namelijk wel een redelijk stevige belasting die je hier even in je paginaatje gooit. Stel dat het om een paar honderd duizend records gaat... :/

My personal website


Verwijderd

Topicstarter
RobIII schreef op 05 november 2003 @ 14:30:
Tel je alleen records???? Waarom gebruik je niet de recordcount property van je recordset daarvoor?
Het lijkt me echter dat je wat code achterwege hebt gelaten?
En heb je al Response.buffer = false geprobeerd?
Klopt, ik nam aan dat de fout in dit stuk zit.
Ik stuur je de hele code even, als je het niet erg vind...
response.buffer = false heb ik reeds geprobeerd.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Nee, stuur maar niks. Daar hebben anderen hier niks aan. Zet de hele code (met dus de wel relevante stukken) hier maar neer. Als het een hele lap is laat je alle irrelevante stukken weg.

Als je je code hier neer zet leren anderen (die de search gebruiken :P ) er ook nog iets van.

[ Voor 20% gewijzigd door RobIII op 05-11-2003 14:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
oke:


<%
do while not rsStoringen.EOF
SQLQuery = "SELECT * FROM [Klanten] WHERE tkKlantNummer='" & rsStoringen.Fields("tkKlantNummer").Value & "'"
set rsKlanten = objConnection.Execute(SQLQuery)
%>

[ Voor 98% gewijzigd door Verwijderd op 05-11-2003 14:41 ]


  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Daar hoordt weer meer bij.

Je gebruikt toch wel een rsStoringen.MoveNext he?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 05 november 2003 @ 14:39:
oke:


<%
do while not rsStoringen.EOF
SQLQuery = "SELECT * FROM [Klanten] WHERE tkKlantNummer='" & rsStoringen.Fields("tkKlantNummer").Value & "'"
set rsKlanten = objConnection.Execute(SQLQuery)
%>
A: Check je mail
B: Dit is ook niet relevant. Je moet het hele spul uit je loop posten, maar gezien dat nogal flink wat was (in m'n mail :( ) sloop je er maar een bult regels uit en zet je er [...] voor in de plaats ofzo.
C: Gebruik Code tags.

code:
1
2
3
4
5
6
7
8
9
10
<% 
    do while not rsStoringen.EOF
            Response.write "bla"
            [...]
            [...]
            [...]
            Response.write "bla"
            rsStoringen.MoveNext
    loop
%>

[ Voor 10% gewijzigd door RobIII op 05-11-2003 14:54 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

edit:

als volgens RobIII dat niet alles was dan kan het zijn dat de meuk hieronder niet relevant is...


Nog ff hierover
C++:
1
2
3
4
5
6
7
8
9
10
11
'Deze parst "' tenminste goed vandaar c++

SQLQuery = "SELECT * FROM [Storingen]"
set rsStoringen = objConnection.Execute(SQLQuery)

AantalRecords = 0
do while not rsStoringen.eof
AantalRecords = AantalRecords + 1
rsStoringen.MoveNext
loop
rsStoringen.MoveFirst

Waarom doe je hier niet gewoon
code:
1
Select Count(storingId) From Storingen


Moet je misschien de query anders opbouwen, maar dat is volgens mij veel mooier (en ook sneller)

En wat wil je hiermee
C++:
1
2
3
do while not rsStoringen.EOF 
SQLQuery = "SELECT * FROM [Klanten] WHERE tkKlantNummer='" & rsStoringen.Fields("tkKlantNummer").Value & "'"
set rsKlanten = objConnection.Execute(SQLQuery)

Een klant nummer bij elke storing?

[ Voor 13% gewijzigd door Jaspertje op 05-11-2003 14:56 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Klopt, ik nam aan dat de fout in dit stuk zit.
:X

Je mag niks aannemen bij programmeren, je moet het zeker weten ;) Oftewel: debuggen. Zet een breakpoint in je code en kijk waar het mis gaat. Als je omgeving dat niet ondersteunt: zet punten in je code die je feedback geven gedurende het geheel, of haal stukken weg tot het probleem zich niet mer voordoet. Zet vervolgens alles weer terug tot het probleem zich opnieuw voordoet. Als je de volgorde van weghalen en terugzetten een beetje in de gaten houdt, kun je er achter komen in welk stuk de fout zit :p

My personal website


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
OZ-Gump schreef op 05 november 2003 @ 14:56:
[...]
:N

Je mag niks aannemen bij programmeren, je moet het zeker weten ;) Oftewel: debuggen. Zet een breakpoint in je code en kijk waar het mis gaat. Als je omgeving dat niet ondersteunt: zet punten in je code die je feedback geven gedurende het geheel, of haal stukken weg tot het probleem zich niet mer voordoet. Zet vervelgens alles weer terug tot het probleem zich opnieuw voordoet. Als je de volgorde van weghalen en terugzetten een beetje in de gaten houdt, kun je er achter komen in welk stuk de fout zit :p
Ja allemaal leuk en aardig (je hebt gelijk hoor), debuggen wordt wat moeilijker als je response object niet mee wil werken (lees topicstart) en breakpoints in ASP kennie he?
Maar je hebt wel gelijk: de TS had zelf ook wel effe wat kunnen proberen.

/edit/
@Jaspertje: en idd een response.end is soms ook ERRUG makkelijk :P

[ Voor 5% gewijzigd door RobIII op 05-11-2003 15:01 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

OZ-Gump schreef op 05 november 2003 @ 14:56:
[...]
:X

Je mag niks aannemen bij programmeren, je moet het zeker weten ;) Oftewel: debuggen. Zet een breakpoint in je code en kijk waar het mis gaat. Als je omgeving dat niet ondersteunt: zet punten in je code die je feedback geven gedurende het geheel, of haal stukken weg tot het probleem zich niet mer voordoet. Zet vervelgens alles weer terug tot het probleem zich opnieuw voordoet. Als je de volgorde van weghalen en terugzetten een beetje in de gaten houdt, kun je er achter komen in welk stuk de fout zit :p
Je kan asp gewoon keihard response.end neerzetten. Zet daarvoor idd iets op het scherm en kijk of het goed gaat..

@RobIII :Als dat in de loop is, dan weet je tenminste zeker! waar je moet zoeken, want dat wist de TS ook nog niet.... want hij dacht dat ie het

[ Voor 11% gewijzigd door Jaspertje op 05-11-2003 14:59 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

offtopic:
... en breakpoints in ASP kennie he?
Sorry, ben verwend met ASP.Net ;)

My personal website


  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Probeer eens bij de laastte paar regels:

code:
1
2
3
rsStoringen.MoveNext
loop
rsStoringen.MoveFirst


Dit:

code:
1
2
3
4
  rsStoringen.MoveNext
  Response.Flush()
loop
rsStoringen.MoveFirst

Verwijderd

Topicstarter
nee, geen oplossing...
UniCache2 schreef op 05 november 2003 @ 15:05:
Probeer eens bij de laastte paar regels:

code:
1
2
3
rsStoringen.MoveNext
loop
rsStoringen.MoveFirst


Dit:

code:
1
2
3
4
  rsStoringen.MoveNext
  Response.Flush()
loop
rsStoringen.MoveFirst

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ja, dit schiet dus niet op.
Wat gaat er nu dan fout? Welke foutmelding?
Je bent niet echt "behulpzaam" naar ons toe, maar wij moeten dat wel naar jou zijn?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII,
ben al jullie adviesen aan het proberen, sorry dat ik te weinig informatie geef aan jullie.
je kent het wel: met vijf dingen tegelijk bezig ;)
ik ben overigens geen asp wizzard, dus ik moet alles zorgvuldig uitproberen en nakijken.
deze hele code is een erfenis van mijn voorganger, vandaar dat ik niet direct al jullie vragen kan beantwoorden...

ik gebruik deze page trouwens alleen voor m'n intranet, dus hoef geen rekening te houden met bandbreedte, ook al is het geen 'nette' code.

kan de oorzaak van dit probleem niet een instelling op de sql of iis zijn?
RobIII schreef op 05 november 2003 @ 15:11:
[...]

Ja, dit schiet dus niet op.
Wat gaat er nu dan fout? Welke foutmelding?
Je bent niet echt "behulpzaam" naar ons toe, maar wij moeten dat wel naar jou zijn?

Verwijderd

Topicstarter
het is gelukt!
een combinatie van select count (Jaspertje _/-\o_ )
en de flush van UniCache _/-\o_ .
allemaal bedankt!

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Verwijderd schreef op 05 november 2003 @ 15:50:
het is gelukt!
een combinatie van select count (Jaspertje _/-\o_ )
en de flush van UniCache _/-\o_ .
allemaal bedankt!
Weet je nou ook waarom (dat is misschien nog wel eens handig..) Want ik hoop niet dat je mijn idee ook in een loop hebt gezet!!
Pagina: 1