Avatar billede j-roar-h Nybegynder
14. februar 2010 - 13:07 Der er 9 kommentarer og
1 løsning

ASP Nyhedsbrev

Hej.

Jeg har et problem med et nyhedsbrev som skal laves med database, som jeg har hentet på hjemmesideskolen.

Jeg har lagt filerne som jeg har hentet ud på nettet, men får denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/Nyhedsbrev/tilmeld.asp, line 47


Og i linje 47 står der: Conn.Execute("INSERT INTO nyhedsbrev (email) VALUES ('" & email & "')")

Hele koden til denne side er:

<% Dim mode
mode = Request.QueryString("mode")

If mode = "" Then 'Hvis mode = ingenting - så vis formular til tilmelding/framelding %>

<form method="POST" action="tilmeld.asp?mode=submit">
<p>E-mail adresse:<br>
<input type="text" name="email" size="30"><br>
Tilmeld:&nbsp;<input type="radio" name="status" value="tilmeld" CHECKED>
Frameld:&nbsp;<input type="radio" name="status" value="frameld"><br><br>
<input type="submit" value="Tilmeld/Frameld"></p>

<% ElseIf mode = "submit" Then 'Hvis mode = "submit" så godkend og registrer indtastning

Dim email, status, error
error = False 'Bruges til at teste om der er sket fejl eller der er mangler i indtastning
email = Trim(Replace(Request.Form("email"), "'", ""))
status = Request.Form("status")

If Len(email) = 0 Then 'Tester om der er indtastet e-mail adresse
Response.Write "<h1>OBS!</h1>"
Response.Write "<strong>Du har ikke indtastet en e-mail adresse</strong>"
error = True
End If

If error = False Then 'Tilføjer eller fjerner e-mail adresse fra database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

If status = "tilmeld" Then 'Tilmelder e-mails
Set rs = Conn.Execute("SELECT email FROM nyhedsbrev WHERE email='" & email & "'")
If Not rs.EOF Then
Response.Write "<h1>OBS!</h1>"
Response.Write "<h4>Denne e-mail adresse er allerede tilmeldt i systemet</h4>"
Else
Conn.Execute("INSERT INTO nyhedsbrev (email) VALUES ('" & email & "')")
Response.Write "<h1>Tak for tilmeldingen</h1>"
Response.Write "<b>Du er nu tilmeldt nyhedsbrevet</b>"
End If
End If 'Slutter tilmeld

If status = "frameld" Then 'Framelder e-mails
Set rs = Conn.Execute("SELECT email FROM nyhedsbrev WHERE email='" & email & "'")
If Not rs.EOF Then
Conn.Execute("DELETE * FROM nyhedsbrev WHERE email='" & email & "'")
Response.Write "<h1>Frameldingen er registreret</h1>"
Response.Write "<h4>Du får ikke flere nyhedsbreve</h4>"
Else
Response.Write "<h1>OBS!</h1>"
Response.Write "<h4>Din e-mail adresse blev ikke fundet i systemet</h4>"
End If
End If 'Slutter frameld
Conn.Close
Set Conn = Nothing
End If 'Slutter tilmeld/frameld %>
<br><a href="java script:history.back()">&laquo;&nbsp;Tilbage</a>
<% End If %>
</form>

Og den kan ses her: http://www.ringstedtennisklub.dk/Nyhedsbrev/tilmeld.asp
Avatar billede keysersoze Guru
14. februar 2010 - 14:08 #1
Du mangler skriverettigheder på enten mappen eller databasen når du får den fejl - når siden ligger på et webhotel har du højst sandsynligt fået tildelt en specialt database-mappe med skriverettigheder.
Avatar billede kgkg Nybegynder
14. februar 2010 - 14:29 #2
Som keysersoze rigtigt skriver, så er det nogle skriverettigheder som er problemet.

Du skal sørge for at IUSER_COMPUTERNAVN har skriverettigheder på den mappe som databasen ligger i.

Hvis det er på egen server som du har dit site kørende, så skal du rette i NTFS rettighederne. Hvis dit site er hostet ude i byen, så skal du have fat i din udbyder og høre om de vil sætte disse rettigheder for dig eller anvise en mappe hvor disse rettigheder allerede er sat. Og så må du flytte din database over i den anviste mappe.
Avatar billede j-roar-h Nybegynder
15. februar 2010 - 12:30 #3
Jeg har webhotel hos dandomain. Og der er der en mappe der hedder App_Data.

Der har jeg nu lagt databasefilen over i, men uden held.
Avatar billede keysersoze Guru
15. februar 2010 - 12:40 #4
Jeg mener dandomain kører med skriverettigheder på en mappe der hedder log - men husk også at opdater henvisningen til databasen i dit script.
Avatar billede kgkg Nybegynder
15. februar 2010 - 16:20 #5
Hvis du søger på database mappe, så får du følgende resultat:


Gælder webhoteller placeret på microsoft platform:  (ASP, ASP.net)

Som standard er /log mappen den eneste skrivebare mappe. Har du en database skal den placeres her. Sørg for ikke at slette eller overskrive mappen, idet den fjerner permissions til at skrive ned i mappen.

Har du, ved en fejl, fået slettet/overskrevet mappen, skal skrive rettigheden oprettes igen. Dette kan kun udføres af Dandomain. For at få dette rettet, skal du rette henvendelse til DanDomain telefonisk eller via kontaktformularen: klik her

Ønskes der skriverettighed på andre mapper skal DanDomain informeres før dette kan lade sig gøre.  Skriv til os via kontaktformularen i kundecenteret og skriv hvilken mappe der skal gøres "skrivebar".

Avatar billede keysersoze Guru
05. april 2010 - 11:50 #6
kommet videre?
Avatar billede j-roar-h Nybegynder
05. april 2010 - 12:18 #7
Ja. Jeg har fået det til at virke.
Avatar billede keysersoze Guru
05. april 2010 - 12:31 #8
så lægger jeg et svar hvis jeg har været til hjælp.
Avatar billede kgkg Nybegynder
05. april 2010 - 12:51 #9
Det kunne da være meget rat at høre hvad du gjorde for at løse problemet!
Avatar billede j-roar-h Nybegynder
05. april 2010 - 12:58 #10
Ja selvfølgelig.

Jeg lagde filen over i mappen der hed log, og ændrede henvisningen i koden. Så virkede det.
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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows