/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
ASP fejl meddelelse
Fra : Bok


Dato : 30-04-01 22:34

Hej,

Jeg får ager til følgende fejl meddelelse i mit script :

Active Server Pages error 'ASP 0241'
CreateObject Exception

/sites/link.asp

The CreateObject of '(null)' caused exception C0000005.

Microsoft VBScript runtime error '800a01fb'

An exception occurred: 'dbConn.Open'

/sites/link.asp, line 38





Linie 38 er den linie med dbConn.Open.

Til tider virker det fint uden jeg har lavet noget. Når jeg får den fejl,
skal jeg bare trykke på opdater i browseren så får jeg godt nok det
forventet. ASP scriptet køre på IIS5 webserver.

Er der nogen der ved noget om det problem ?

Mvh
Bok



 
 
Lauritz Jensen (01-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 01-05-01 21:46

Bok wrote:
>
> Jeg får ager til følgende fejl meddelelse i mit script :
>
> Active Server Pages error 'ASP 0241'
> CreateObject Exception

En hurtig søgning på google, antydede at det måske kunne have noget at
gøre med at du putter recordset-objektet i session-objektet. Gør du det?
Det er en meget grim uvane.

--
Lauritz

BoK (02-05-2001)
Kommentar
Fra : BoK


Dato : 02-05-01 09:04


> > Jeg får ager til følgende fejl meddelelse i mit script :
> >
> > Active Server Pages error 'ASP 0241'
> > CreateObject Exception
>
> En hurtig søgning på google, antydede at det måske kunne have noget at
> gøre med at du putter recordset-objektet i session-objektet. Gør du det?
> Det er en meget grim uvane.

Nææ, det mener jeg ikke, men her er et snit af koden efter noget HTML osv :

<%

Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
Server.MapPath("links.mdb")

SQL="SELECT * FROM link WHERE linknr BETWEEN "&startnr&" AND "&endnr
Set xSQL = dbConn.Execute(SQL)

do
ref = xSQL("linkref")
tekst = xSQL("linktekst")

%>
<tr>
<td class=tekst1 width="534">
<a href="http://<%=ref%>"><%=tekst%>

</td>
</tr>
<%

stopnr = stopnr + 1
xSQL.movenext
loop until xSQL.EOF or stopnr = endnr

dbConn.Close

Set xSQL = Nothing
set xSQL = nothing

%>



Alt efter hvilken knap man har trykket i en Form, så køre scriptet igen
forfra med nye værdier til "endnr", "startnr" og "stopnr", som bliver
tildelt første i scriptet ved følgende måde " variabel =
request.form("variabel fra Form") ".
Håber at det er til at forstå.

Det du mener med "Det er en meget grim uvane", er det hvis jeg gør følgende
Session("et eller andet") = xSQL("et eller andet") ??


Bok



Lauritz Jensen (02-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 02-05-01 19:17

BoK wrote:
>
> stopnr = stopnr + 1
> xSQL.movenext
> loop until xSQL.EOF or stopnr = endnr

Hvor for har du dette check i slutningen af dit loop? Så fejler koden
jo, hvis der slet ikke er nogen links i databasen.

> dbConn.Close

Her bude du nok sætte dbconn lig nothing

> Set xSQL = Nothing
> set xSQL = nothing

Du burde nok lukke recordset'et (xSQL) inden du sætter variablen lig
nothing (og det behøver du kun at gøre en gang)

> Det du mener med "Det er en meget grim uvane", er det hvis jeg gør følgende
> Session("et eller andet") = xSQL("et eller andet") ??

Blandt andet

--
Lauriz

Bok (02-05-2001)
Kommentar
Fra : Bok


Dato : 02-05-01 20:36

> > stopnr = stopnr + 1
> > xSQL.movenext
> > loop until xSQL.EOF or stopnr = endnr

forstil dig at jeg har 17 links i en database, men vil kun vise 5 links af
gangen, så når "stopnr" = "endnr" så skal Loop stoppe. "stopnr" er fra
start (altså før der bliver lagt 5 til) altid værdien af sidste endnr fra
sidste visning. Og hvis "stopnr" når længere end database filen er, så er
det xSQL.EOF der stopper Loop.


>
> Hvor for har du dette check i slutningen af dit loop? Så fejler koden
> jo, hvis der slet ikke er nogen links i databasen.
>
> > dbConn.Close
>
> Her bude du nok sætte dbconn lig nothing
>
> > Set xSQL = Nothing
> > set xSQL = nothing
>
> Du burde nok lukke recordset'et (xSQL) inden du sætter variablen lig
> nothing (og det behøver du kun at gøre en gang)

øh, en fejl fra min side det burde være sådan istedet :

xSQL.Close
dbConn.Close
Set xSQL = Nothing
Set dbConn = Nothing


Men fejlen opstår stadig. Se http://test.addnet.dk


Mvh
Bok




Lauritz Jensen (02-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 02-05-01 21:40

Bok wrote:
>
> > > stopnr = stopnr + 1
> > > xSQL.movenext
> > > loop until xSQL.EOF or stopnr = endnr
> >
> > Hvorfor har du dette check i slutningen af dit loop? Så fejler koden
> > jo, hvis der slet ikke er nogen links i databasen.
>
> forstil dig at jeg har 17 links i en database, men vil kun vise 5 links af
> gangen, så når "stopnr" = "endnr" så skal Loop stoppe. "stopnr" er fra
> start (altså før der bliver lagt 5 til) altid værdien af sidste endnr fra
> sidste visning. Og hvis "stopnr" når længere end database filen er, så er
> det xSQL.EOF der stopper Loop.

Forstil dig, at du har 0 links i databasen, så fejler koden når den
kommer til 'ref = xSQL("linkref")'.
Men nu du siger det, så husker jeg engang hvor jeg havde et problem
(godt nok på sql-server), som skyldes at der blev åbnet et recordset,
men ikke loop'et til enden af det. Prøv at ændre koden, så der kun
retuneres de rækker som du skal bruge, således at du kan fjerne 'or
stopnr = endnr'.

--
Lauritz

Bok (02-05-2001)
Kommentar
Fra : Bok


Dato : 02-05-01 22:52

> Forstil dig, at du har 0 links i databasen, så fejler koden når den
> kommer til 'ref = xSQL("linkref")'.

Ja, jeg kan godt se det problem, og har også tænkt over det, men er kommet
frem til at der aldrig vil komme til at stå 0 links i databasen, jeg starter
bare med skrive nogle ind. He, måske lidt for lusket løsning.

> Men nu du siger det, så husker jeg engang hvor jeg havde et problem
> (godt nok på sql-server), som skyldes at der blev åbnet et recordset,
> men ikke loop'et til enden af det. Prøv at ændre koden, så der kun
> retuneres de rækker som du skal bruge, således at du kan fjerne 'or
> stopnr = endnr'.

mmh, jeg åbner jo kunne de rækker jeg vil bruge (mener jeg) med :

SQL="SELECT * FROM link WHERE linknr BETWEEN "&startnr&" AND "&endnr

hvor "startnr" =1 og "endnr"=5 føste gang, dernest bliver "startnr"=6 og
"endnr"=10 osv.

og derefter kunne jeg gøre følgende :

While not xSQL.EOF
ref = xSQL("linkref")
tekst = xSQL("linktekst")
%>
<tr>
<td>
<a href="http://<%=ref%>"><%=tekst%>

</td>
</tr>
<%
stopnr = stopnr + 1
xSQL.movenext
Wend

for at vise "ref" og "tekst".

Men det køre heller ikke, nogen ideer ?


Mvh
Bok





Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408866
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste