|  | 		    
					
        
         
          
         
	
          | |  | Genvind hukommelse (Out of memory: 'Server~ Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  06-02-07 10:53
 | 
 |  | Hej gruppe. Jeg har fået et tåbeligt problem med en asp-side. Ved
 test af en ny funktion, har jeg tilføjet et databasekald uden at
 lukke ordentligt efter mig - mere konkret har jeg åbnet en
 ADODB.Command i en funktion uden at lukke den igen.
 
 På et tidspunkt går den slags galt - og jeg får følgende fejl:
 
 Microsoft VBScript runtime  error '800a0007'
 
 Out of memory: 'Server.CreateObject'
 
 /test/spam.asp, line 13
 
 Linje 13 er følgende:
 
 Set oCmd=Server.CreateObject("ADODB.command")
 
 Jeg har selvfølgelig - med lidt røde ører - tilføjet Set oCmd =
 Nothing, men jeg kan alligevel ikke slippe af med fejlen. Jeg har
 genstartet webtjenesten, og senere hele serveren, men fejlen bliver
 ved med at være der.
 
 Det bliver endnu mere mystisk hvis jeg prøver at oprette et anden
 Command-objekt uden for funktionen - for her virker det fint.
 
 Altså:
 
 Dim x, p, ip
 Set x = Server.CreateObject("ADODB.command")
 x.ActiveConnection = myConn
 x.CommandType = adCmdStoredProc
 ....
 
 - virker fint, mens
 
 Function isSpam2(ip)
 Dim objCmd, p, t
 Set objCmd = Server.CreateObject("ADODB.command")
 objCmd.ActiveConnection = myConn
 
 - giver fejl ved createobject.
 
 
 Jeg kan principielt godt klare mig uden en funktion, men det er
 bare oplagt at benytte funktionen her. Jeg er helt blank mht. hvad
 der er galt - og hvordan jeg får det rettet. Er der nogen der har
 gode ideer?
 --
 Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
 eller Brønshøj, max 6000 pr. måned.
 Kontakt pr. mail - nospam(at)gyros.dk
 Jens Gyldenkærne Clausen
 
 
 |  |  | 
  Jens Gyldenkærne Cla~ (06-02-2007) 
 
	
          | |  | Kommentar Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  06-02-07 15:17
 | 
 |  | Jens Gyldenkærne Clausen skrev:
 
 > På et tidspunkt går den slags galt - og jeg får følgende fejl:
 >
 >          Microsoft VBScript runtime  error '800a0007'
 >
 >          Out of memory: 'Server.CreateObject'
 
 Arghhhh! (undskyld, men jeg skulle lige tale med store bogstaver
 til mig selv). Fejlen lå slet ikke i den manglende objektoprydning,
 men i et særdeles uheldigt manglende lighedstegn.
 
 I slutningen af funktionen havde jeg følgende:
 
 
 If isNull(t) Then
 isSpam = False
 ELSE
 isSpam CBool(t)
 End If
 
 - hvad der formentlig har fået asp-parseren til at gå i koma ved at
 lade funktionen (isSpam) kalde sig selv i en uendelig løkke. Det er
 desværre ikke som i asp.net hvor funktionskald *skal* omkranses af
 parenteser.
 
 Suk...
 --
 Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
 eller Brønshøj, max 6000 pr. måned.
 Kontakt pr. mail - nospam(at)gyros.dk
 Jens Gyldenkærne Clausen
 
 
 |  |  | 
 |  |