Avatar billede martin181 Nybegynder
08. januar 2007 - 14:04 Der er 7 kommentarer og
1 løsning

Min access database lukker ikke ordentlig efter brug via ASP

Hejsa,

jeg har et lille problem...

Jeg har en access database, som jeg skriver til og henter fra via asp.

Selve den del virker fint.

Mit problem er at min connection bliver holdt levende or længe...

Og hvad betyder det så? (hvis det da er det der er galt...)

Jo, når jeg bruger min side til at vise hvad jeg har i min database, som skal redigeres - flg. kode:

<%
RESPONSE.BUFFER="True"
%>
<HTML>
<HEAD>
<TITLE>Rediger collection</TITLE>
<meta name="Generator" content="Stone's WebWriter 4">
</HEAD>
<BODY>
<H2>Rediger collection</H2>
<BR>
<%
DIM CONNECT, OnNyhed, nr
SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("pilots.mdb")
%>
<B>Vi har følgende</B>
<%
SET OnNyhed = CONNECT.EXECUTE (_
"SELECT * FROM Collection")
%>
<TABLE BORDER="1">
<!-- Her sættes løkken op for at sikre at alt kommer med -->
<TR>
        <TD>Collection</TD>
</TR>
<%
DO UNTIL OnNyhed.EOF %>
<% nr = OnNyhed("ID") %>
<TR>
        <TD><%=OnNyhed("Overskrift")%></TD>
<TD><FORM ACTION="redigercollectionnu.asp?nr=<%=nr%>" Target="_top" METHOD="POST" NAME="nyhedsredigering">
<INPUT TYPE="submit" VALUE="Rediger" NAME="Rediger">
<INPUT TYPE="hidden" VALUE="<% Response.write(NR) %>" NAME="Nr"></TD>
</FORM>
</TR>
<!-- Her sættes løkken til at køre igen, hvis dette er nødvendigt -->
<% OnNyhed.MOVENEXT
LOOP %>
</TABLE>
<BR>
<br><br>
<A HREF="admin.asp">Tilbage til forsiden</A>
<!-- lukker forbindelsen -->
<%
OnNyhed.close
connect.close
set OnNyhed=nothing
set connect=nothing
%>
</BODY>
</HTML>

Så får jeg fint nok vist mine ting på skærmen - men når jeg så har ændret det jeg vil ændre og trykker på min knap for at komme videre - hvilket udløser et kald til flg. side:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
    <TITLE>Rediger collection</TITLE>
<meta name="Generator" content="Stone's WebWriter 4">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#660066" ALINK="#FF0000">
<H2>Rediger collection</H2>
<%
DIM CONNECT
SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION")
CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("pilots.mdb")
%>
<%
SET ONRediger = CONNECT.EXECUTE ("Select * FROM Collection where ID = " & clng(request.querystring("nr")) & ";")
%>
<BR>
Collectionen er:
<FORM ACTION="godkendcollection.asp?nr=<%=request.querystring("nr")%>" Target="_top" METHOD="POST" NAME="nyhedchange">
<BR>
<BR>
<TABLE>
<TR>
<TD>Dato:&nbsp;<input type="text" value="<%=OnRediger("Dato")%>" name="dato"><br>
Overskrift:&nbsp;<input type="text" size="30" maxlength="30" value="<%=OnRediger("Overskrift")%>" name="Overskrift"><br>
Oprettet af:&nbsp;<input type="text" value="<%=OnRediger("OprettetAf")%>" name="OprettetAf"><br>
Mail:&nbsp;<input type="text" value="<%=OnRediger("Mail")%>" name="Mail"><br>
Emne:&nbsp;<TEXTAREA WRAP="off" ROWS="30" COLS="60" NAME="emnetekst"><%=OnRediger("Emne")%></TEXTAREA><BR><BR>
<INPUT TYPE="submit" VALUE="registrer ændringer" NAME="Send">&nbsp;&nbsp;<INPUT TYPE="reset" VALUE="Fortryd ændringer" NAME="Fortryd">
<INPUT TYPE="hidden" VALUE="<% Response.write(Mnr)%>" NAME="Nr"><br><br>
</FORM>
<%
onrediger.close
connect.close
set onrediger=nothing
set connect=nothing
%>
</BODY>
</HTML>

så får jeg flg. melding:

Provider error '80004005'

Unspecified error

/pilots/redigercollectionnu.asp, line 12

Men venter jeg så et lille stykke tid - ca. 1 minut, så må jeg godt komme videre uden fejlmeldingen.

Hva der mit problem?

Er det min måde at afbryde min connection i mine filer?

Er det noget jeg skal sætte op på min web-server? (som heldigvis står her hos mig)

Er det noget jeg skal ordne på min database?

Eller?
Avatar billede cpufan Juniormester
08. januar 2007 - 14:18 #1
prøv at slette denne linie:

OnNyhed.close

da man ikke kan lukke et recordset
den burde egentlig melde fejl på den
Avatar billede fennec Nybegynder
08. januar 2007 - 14:23 #2
Taget fra:
http://forums.aspfree.com/asp-development-5/provider-error-80004005---unspecified-error-14279.html

We resolved this problem in the following way.

Open the .mdb in access. Go to Tools->Options->Advanced. Deselect the "Open databases using record-level locking" option. Press "OK" Close Access.

At this point, we still had the problem. However, we have not seen the problem since rebooting!
Avatar billede martin181 Nybegynder
08. januar 2007 - 14:32 #3
jeg prøver lige begge ting og så vender jeg tilbage...
skal jeg have genstartet serveren er det ikke noget jeg bare lige sådan gør, da der kører en driftkritisk hjemmeside på den i forvejen... (alletiders sted at teste ikke? ;-) )
Avatar billede cpufan Juniormester
08. januar 2007 - 14:34 #4
jo helt sikkert :D *G*
Avatar billede martin181 Nybegynder
10. januar 2007 - 13:13 #5
Løsningen fra fennec virkede efter at jeg fik lov til at genstarte webserveren - smider du et svar, så du kan få nogle point?
Avatar billede martin181 Nybegynder
22. januar 2007 - 13:24 #6
kommer der et svar til denne?
Avatar billede fennec Nybegynder
22. januar 2007 - 13:27 #7
Det kommer her

.o) <-- One Eyed Jack
Avatar billede martin181 Nybegynder
22. januar 2007 - 13:28 #8
alletiders - tak for hjælpen :-)
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