Avatar billede bjarke-b Nybegynder
18. januar 2006 - 18:26 Der er 18 kommentarer

Microsoft VBScript runtime error '800a0007'

Denne fejl er opstået uden der er rodet med koden, systemet har kørt i flere måneder uden problemer eller rettelser.

Microsoft VBScript runtime  error '800a0007'

Out of memory: 'Conn.Execute'

/include/inc_chance.asp, line 19

En googling af fejlen har ikke givet mig nogen nærmere løsning - er der nogle af jer hjerner der har et forslag.

Her er inc_chance.asp fra linie 16 til og med linie 41

-------------------------------------------------

Private Function GetNewChance()

    sql = "SELECT * FROM sidste_chance WHERE aktiv = 1 ORDER BY RAND() LIMIT 1"
                   
    Set Rs = Conn.Execute(sql)
                   
    Session("lastshowenid") = rs("id")
                   
        set tempRs = Conn.Execute("SELECT * FROM sh_dk WHERE id = " & rs("husid") & "")
            if tempRs.EOF or tempRs.BOF then
            else
            if tempRs("visninger") > int(0) then
                               
                Conn.Execute("UPDATE sh_dk SET visninger = visninger-1 WHERE id = " & temprs("id") & "")
                       
                Response.Write "<b>Sidste Chance i uge: " & rs("uger") & "<br>"
                Response.Write "<img style=""cursor: hand;"" onclick=""location.href='sh_dk.asp?id=" & rs("husid") & "&chance=" & rs("id") & "'"" src=""images/houses/" & rs("husid") & "/big_1.jpg"" width=""200"" height=""125""><br>"
                Response.Write "Lej huset til: " & rs("pris") & "kr,-"
            else
                GetNewChance()
            end if
            end if
        Set tempRs = Nothing   
    Set rs = Nothing

End function

-------------------------------------------------

Forslag modtages med kyshånd :)
Avatar billede trekkies Juniormester
18. januar 2006 - 19:40 #1
Du skal genstarte din computer så kan du få det til at virker igen.
Du skal ALTID huske at lukke din forbindelse med disse sætninger:
Conn.Close
Set Conn = Nothing

Conn er det navn som din forbindelse har.
Man skal altid huske at lukke forbindelsen ellers ligger oplysningerne i hukommelsen indtil at man genstarter computeren.
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 19:51 #2
-Alle forbindelser lukkes
-Computer er genstartet, iisreset er kørt

Andre forslag
Avatar billede nielle Nybegynder
18. januar 2006 - 19:54 #3
Et bud kunne være at der simpelthen er for mange rækker i dine tabeller til at programmet kan håndtere det. Hvor mange rækker har du i hhv sidste_chance og sh_dk?
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 20:03 #4
hhv 12 og 150 rækker så går ikke ud fra problemet ligger der.

Det er en mysql database der kobles op til
Avatar billede nielle Nybegynder
18. januar 2006 - 20:09 #5
Ja, det fremgik også ud af din SQL-syntaks at det var MySQL. :^)

Nej 12 og 150 rækker er jo ingenting - ja, så er jeg desværre blank. Dvs. med mindre at rækkerne i din sidste_chance tabel er virkeligt store (indeholder BLOB'er eller sådan noget)?
Avatar billede nielle Nybegynder
18. januar 2006 - 20:14 #6
Du kan jo prøve at ændre:

sql = "SELECT * FROM sidste_chance WHERE aktiv = 1 ORDER BY RAND() LIMIT 1"

- til:

sql = "SELECT id, husid, uger, pris FROM sidste_chance WHERE aktiv = 1 ORDER BY RAND() LIMIT 1"
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 20:19 #7
stadig intet desværre
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 20:21 #8
set tempRs = Conn.Execute("SELECT id, visninger FROM sh_dk WHERE id = " & rs("husid") & "")

også minimeret, stadig ingen fejl
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 20:21 #9
skulle selvfølgelig stå "stadig fejl"
Avatar billede nielle Nybegynder
18. januar 2006 - 20:22 #10
Ja, så må jeg desværre give op... :^(
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 20:24 #11
<!--#include virtual="include/db_open.asp"-->
<%
Set rs2 = Conn.Execute("SELECT * FROM sh_dk WHERE visninger > 0")
Set rs3 = Conn.Execute("SELECT * FROM sidste_chance")
    if rs2.EOF or rs2.BOF then
       
    else
    if rs3.EOF or rs3.BOF then
    else
rs2.close
set rs2 = Nothing
rs3.close
set rs3 = Nothing
    %>
<!--#include virtual="include/db_close.asp"-->

    <table style="border: 1px dotted #000000; background-color: #F1F1F1;" cellpadding="0" width="230">
        <tr>
            <td align="center">
           
                <%
Set Conn2 = Server.CreateObject("ADODB.Connection")
Conn2.Open "DRIVER={MySQL ODBC 3.51 Driver}; server=mysql.bekhoj.dk; database=123ferie; uid=123ferie; pwd=XXXXXXXX;"
                Function GetNewChance()

                    sql = "SELECT id, husid, uger, pris FROM sidste_chance WHERE aktiv = 1 ORDER BY RAND() LIMIT 1"
                   
                    Set Rs = Conn2.Execute(sql)
                   
                    Session("lastshowenid") = rs("id")
                   
                        set tempRs = Conn2.Execute("SELECT id, visninger FROM sh_dk WHERE id = " & rs("husid") & "")
                            if tempRs.EOF or tempRs.BOF then
                            else
                            if tempRs("visninger") > int(0) then
                               
                                Conn2.Execute("UPDATE sh_dk SET visninger = visninger-1 WHERE id = " & temprs("id") & "")
                       
                                Response.Write "<b>Sidste Chance i uge: " & rs("uger") & "<br>"
                                Response.Write "<img style=""cursor: hand;"" onclick=""location.href='sh_dk.asp?id=" & rs("husid") & "&chance=" & rs("id") & "'"" src=""images/houses/" & rs("husid") & "/big_1.jpg"" width=""200"" height=""125""><br>"
                                Response.Write "Lej huset til: " & rs("pris") & "kr,-"
                            else
                                GetNewChance()
                            end if
                            end if
                        tempRs.Close
                        Set tempRs = Nothing   
                    Set rs = Nothing

                End function
               
                Response.Write GetNewChance
               
                Set rs = Conn2.Execute("SELECT * FROM sidste_chance WHERE aktiv = 1 AND id <> " & int(session("lastshowenid")) & "")
                    if rs.EOF or rs.BOF then
                    else
                    'Response.Write "<br><br><select onChange=""location.href = this.options[this.selectedIndex].value;""><option value="""">Eller vælg et af de andre</option>"
                    Do until rs.EOF or rs.BOF
            '        Set rs3 = Conn2.Execute("SELECT * FROM sh_dk WHERE id = " & rs("husid") & "")
                        if rs3("visninger") > int(0) then
                        Response.Write "<option value=""sh_dk.asp?id=" & rs("husid") & """>Hus i uge: " & rs("uger") & " til " & rs("pris") & ",-</option>"
                        end if
                        Set rs3 = Nothing
                    rs.MoveNext
                    Loop
                    end if
                Set rs = nothing
                %>
       
            </td>
        </table>

<%
    end if
end if %>
<!--#include virtual="include/db_close.asp"-->

Har rodet lidt rundt med det her, oprettet nu connection object osv, stadig fejl - i næste indlæg kommer hele filen.

Nogen der kan se hvori problemet er
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 20:25 #12
<!--#include virtual="include/db_open.asp"-->
<%
Set rs2 = Conn.Execute("SELECT * FROM sh_dk WHERE visninger > 0")
Set rs3 = Conn.Execute("SELECT * FROM sidste_chance")
    if rs2.EOF or rs2.BOF then
       
    else
    if rs3.EOF or rs3.BOF then
    else
rs2.close
set rs2 = Nothing
rs3.close
set rs3 = Nothing
    %>
<!--#include virtual="include/db_close.asp"-->

    <table style="border: 1px dotted #000000; background-color: #F1F1F1;" cellpadding="0" width="230">
        <tr>
            <td align="center">
           
                <%
Set Conn2 = Server.CreateObject("ADODB.Connection")
Conn2.Open "DRIVER={MySQL ODBC 3.51 Driver}; server=mysql.bekhoj.dk; database=123ferie; uid=123ferie; pwd=XXXXXXXX;"
                Function GetNewChance()

                    sql = "SELECT id, husid, uger, pris FROM sidste_chance WHERE aktiv = 1 ORDER BY RAND() LIMIT 1"
                   
                    Set Rs = Conn2.Execute(sql)
                   
                    Session("lastshowenid") = rs("id")
                   
                        set tempRs = Conn2.Execute("SELECT id, visninger FROM sh_dk WHERE id = " & rs("husid") & "")
                            if tempRs.EOF or tempRs.BOF then
                            else
                            if tempRs("visninger") > int(0) then
                               
                                Conn2.Execute("UPDATE sh_dk SET visninger = visninger-1 WHERE id = " & temprs("id") & "")
                       
                                Response.Write "<b>Sidste Chance i uge: " & rs("uger") & "<br>"
                                Response.Write "<img style=""cursor: hand;"" onclick=""location.href='sh_dk.asp?id=" & rs("husid") & "&chance=" & rs("id") & "'"" src=""images/houses/" & rs("husid") & "/big_1.jpg"" width=""200"" height=""125""><br>"
                                Response.Write "Lej huset til: " & rs("pris") & "kr,-"
                            else
                                GetNewChance()
                            end if
                            end if
                        tempRs.Close
                        Set tempRs = Nothing   
                    Set rs = Nothing

                End function
               
                Response.Write GetNewChance
               
                Set rs = Conn2.Execute("SELECT * FROM sidste_chance WHERE aktiv = 1 AND id <> " & int(session("lastshowenid")) & "")
                    if rs.EOF or rs.BOF then
                    else
                    'Response.Write "<br><br><select onChange=""location.href = this.options[this.selectedIndex].value;""><option value="""">Eller vælg et af de andre</option>"
                    Do until rs.EOF or rs.BOF
            '        Set rs3 = Conn2.Execute("SELECT * FROM sh_dk WHERE id = " & rs("husid") & "")
                        if rs3("visninger") > int(0) then
                        Response.Write "<option value=""sh_dk.asp?id=" & rs("husid") & """>Hus i uge: " & rs("uger") & " til " & rs("pris") & ",-</option>"
                        end if
                        Set rs3 = Nothing
                    rs.MoveNext
                    Loop
                    end if
                Set rs = nothing
                %>
       
            </td>
        </table>

<%
    end if
end if %>
<!--#include virtual="include/db_close.asp"-->
Avatar billede nielle Nybegynder
18. januar 2006 - 20:32 #13
Du har defineret din funktion inden for i en If-Then blok. Det skal den ikke være - op i toppen af din kode med den.
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 20:35 #14
desværre stadig intet :) ellers tak for hjælpen indtil videre
Avatar billede bjarke-b Nybegynder
18. januar 2006 - 20:36 #15
prøver at omskrive hele filen imorgen, så må vi se
Avatar billede nielle Nybegynder
23. januar 2006 - 19:28 #16
Har du fået det til at virke?
Avatar billede bjarke-b Nybegynder
07. august 2007 - 18:30 #17
nogen der vil komme med et svar?
Avatar billede nielle Nybegynder
07. august 2007 - 21:43 #18
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester