Avatar billede tft-a Nybegynder
10. juni 2002 - 12:06 Der er 26 kommentarer

administrator sider....

Hej jeg har et stort problem med mine administratorsider på min hjemmeside.

Når jeg prøver at indsætte information vha. admin.siderne så får jeg følgende fejlmeddelelse.:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

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

/test/admin/indsaetnyhed.asp, line 52

Nu har jeg prøvet lidt af hvert og jeg kan ikke få det til at virke. det som jeg syntes er lidt underligt er at hjemmesiden saktens kan hente informationer fra databaserne hvis man altså har tastet det ind manuelt.

Hvads kan jeg gøre???
Avatar billede tmceu Praktikant
10. juni 2002 - 12:18 #1
De klassiske fejl er, at du ikke har skriverettigheder til .mdb filen.
Avatar billede tmceu Praktikant
10. juni 2002 - 12:19 #2
Og det ville forresten også forklare, hvorfor du uden problemer kan læse i databasen :-)
Avatar billede medions Nybegynder
10. juni 2002 - 12:24 #3
Højreklik på din .mdb fil
Properties
Security
og giv IUser alle rettigheder....

//>Rune
Avatar billede tft-a Nybegynder
10. juni 2002 - 13:25 #4
ok... det lyder rimeligt... :-) men når jeg i frontpage højreklikker på min fil og vælger properties er der intet der hedder security. skal jeg benytte mig af et ordentligt ftp-prog. eller er det bare mig der ikke helt er med :-)???
Avatar billede tmceu Praktikant
10. juni 2002 - 13:32 #5
Det har intet med FrontPage eller FTP at gøre. Det skal foretages i IIS admin. Hvis du kører din side på et webhotel, har de typisk en bestemt folder til databaser, ellers skal du have dem til at tilrette det for dig.

Men hvor kører du din side henne og på hvad ?
Avatar billede medions Nybegynder
10. juni 2002 - 13:32 #6
Det er jo ik' en fil i FP! -Det er din Access database-fil du skal gøre det ved!

Download evt. din fil, læg den ud på skrivebordet og højreklik så osv..
//>Rune
Avatar billede tft-a Nybegynder
10. juni 2002 - 13:38 #7
Jeg har siden ved scannet. De skriver at man skal indsætte sine database filer i en mappe der skal hede log. men det kan jeg ikke få til at virke heller. er det mon fordi man ikke må lægge denne mappe i en undermappe eller har det intet med sagen at gøre. jeg har nemlig et debatforum hvor indlægene også bare går ind i en database men det virker til gengæld fint...
Avatar billede tmceu Praktikant
10. juni 2002 - 13:44 #8
Iflg. scannet's support sider, SKAL din database ligge i folderen log direkte i roden og du kan derfor ikke blot oprette eks. /databaser/log

- dette skyldes at scannet default giver change/skrive rettigheder på folderen log under roden.

medions >> dir eksempel hjælper ikke meget. Man kan ikke eks. kopiere en fil fra ét sted til et andet, give skrive rettigheder og flytte den tilbage. Rettigheder flytter ikke med under Windows (som det eks. gør med Netware).
Avatar billede tft-a Nybegynder
10. juni 2002 - 13:51 #9
ok... jeg prøver at se om det virker
Avatar billede tft-a Nybegynder
10. juni 2002 - 14:04 #10
det kan jeg heller ikke få til at virke. pis....
Avatar billede tmceu Praktikant
10. juni 2002 - 14:13 #11
Hvor en din .mdb fil placeret nu ?

Hvilken fejl får du ?

det er ikke nemt at hjælpe dig med at finde en "det kan jeg heller ikke få til at virke. pis..." fejl :-)
Avatar billede tft-a Nybegynder
10. juni 2002 - 16:33 #12
Jeg har rettet i asp koden så den henviser til databaserne ("log/aktivitet.mdb") efter at have gjort det så får jeg fejl meddelelsen

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] '(unknown)' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

/test/admin/aktiviteter-retteliste.asp, line 23

Er det fordi at den ikke kan finde databasen?!? og skal jeg skrive hele stien på hvor databasen ligger. pt ligger de i www.-.dk/log/
men selve admin. siderne ligger i www.-.dk/test/admin/.
Avatar billede medions Nybegynder
10. juni 2002 - 16:38 #13
prøv med
Server.MapPath("../log/aktivitet.mdb")

//>Rune
Avatar billede tft-a Nybegynder
10. juni 2002 - 16:44 #14
Det ser hellerikke ud til at virke...

får samme fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] '(unknown)' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

/test/admin/aktiviteter-retteliste.asp, line 23

i linie 23 i dokumentet står der følgende:

Conn.Open DSN
Avatar billede medions Nybegynder
10. juni 2002 - 16:49 #15
Prøv lige at skriv:
Response.Write(Server.MapPath("../log/aktivitet.mdb"))

og skriv lige hvad den kommer med...

//>Rune
Avatar billede tft-a Nybegynder
10. juni 2002 - 16:55 #16
Tja...

følgende fejl kommer frem:

d:\www2\dks\test\log\kalender.mdb
Microsoft OLE DB Provider for ODBC Drivers error '80040e4e'

Operation was canceled.

/test/admin/aktiviteter-retteliste.asp, line 23
Avatar billede medions Nybegynder
10. juni 2002 - 17:00 #17
well, prøv at lav et nyt dokument... kald det fx. for findsti.asp og skriv:

<html>
<body>
<% Response.Write(Server.MapPath("../log/aktivitet.mdb")) %>
</body>
</html>

og find ud af det på den måde...
//>Rune
Avatar billede tft-a Nybegynder
10. juni 2002 - 18:46 #18
så skriver den følgende:

d:\www2\log\aktivitet.mdb

skal jeg skrive det istedet for ../log/aktivitet.asp???
Avatar billede medions Nybegynder
10. juni 2002 - 18:55 #19
Ja, prøv med det... -men så skal du lige huske at fjerne Server.MapPath!

//>Rune
Avatar billede tmceu Praktikant
10. juni 2002 - 18:56 #20
Du skal sandsynligvis blot anvende denne:

Server.MapPath("/log/aktivitet.mdb")

Den forreste / henviser til roden, derefter log folderen og endeligt database filen.

Hvis du kører et ASP script fra roden af dit site, vil medions' forslag fejle, da den prøve at komme et trin for langt tilbage, altså "ud over" dit site. Kører du derimod ASP scriptet fra eks. folderen /minfolder virker hans forslag fint.
Avatar billede tft-a Nybegynder
10. juni 2002 - 19:00 #21
Jeg er lige ved at tro at det virker... nu må jeg lige se...
Avatar billede tft-a Nybegynder
10. juni 2002 - 19:06 #22
Ja nu kan admin siderne finde databaserne. men der er stadig problemer når man vil prøve at sende info til databaserne.

Jeg får følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

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

/test/admin/indsaetaktivitet.asp, line 93
Avatar billede medions Nybegynder
10. juni 2002 - 19:09 #23
Hvad er der i linje 93?

Prøv at tjekke om det er at din SQL streng om der er en WHERE clouse med!

//>Rune
Avatar billede tmceu Praktikant
10. juni 2002 - 19:19 #24
Vi er jo tilbage ved den oprindelige fejl, dog i en ny linie. Du har vel ikke tilfældigvis flere connections på samme side og en/nogle der ikke er rettet jvf. ovenstående ?

medions >> ikke for at spille smart, men hvad skulle WHERE clausen have med sagen at gøre ?
Avatar billede tft-a Nybegynder
10. juni 2002 - 19:30 #25
her er hvad der står i linie 93:

Conn.Execute(strSQL)

og her er hele koden til siden

<!--#include file="check_login.txt" -->

<% session.LCID = 1030 %>

<%

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("/log/Kalender.mdb")
Conn.Open DSN


Startdato = formatdatetime(Request.form("Startdato"))
if Request.form("Slutdato") <> "" then
Slutdato = formatdatetime(Request.form("Slutdato"))
else
Slutdato = formatdatetime(Request.form("Startdato"))
end if

Titel = Replace(Replace(Request.form("Titel"), """", "''"), "'", "’")

if Request.form("Sted") <> "" then
Sted = Replace(Replace(Request.form("Sted"), """", "''"), "'", "’")
else
Sted = ""
end if

Tekst = Replace(Request.form("Tekst"), "'", "’")
Link = Request.form("Link")

if Request.form("Linktekst") <> "" then
Linktekst = Replace(Replace(Request.form("Linktekst"), """", "''"), "'", "’")
else
Linktekst = ""
end if

Startkode = ""

if Request.form("Navn") <> "" then
Tilmeldnavn = Replace(Replace(Request.form("Navn"), """", "''"), "'", "’")
else
Tilmeldnavn = ""
end if

if Request.form("Telefon") <> "" then
Telefon = Request.form("Telefon")
else
Telefon = ""
end if

if Request.form("Email") <> "" then
Email = Request.form("Email")
else
Email = ""
end if

Arrangor = Request.form("Arrangor")


' SQL sætning opbygges
strSQL = "Insert into Kalender ("

strSQL = strSQL & "Startdato, "
strSQL = strSQL & "Slutdato, "
strSQL = strSQL & "Titel, "
strSQL = strSQL & "Sted, "
strSQL = strSQL & "Tekst, "
strSQL = strSQL & "Link, "
strSQL = strSQL & "Linktekst, "
strSQL = strSQL & "Startkode, "
strSQL = strSQL & "Navn, "
strSQL = strSQL & "Telefon, "
strSQL = strSQL & "Email, "
strSQL = strSQL & "Arrangor) "

strSQL = strSQL & "values("

strSQL = strSQL & "'" & Startdato & "', "
strSQL = strSQL & "'" & Slutdato & "', "
strSQL = strSQL & "'" & Titel & "', "
strSQL = strSQL & "'" & Sted & "', "
strSQL = strSQL & "'" & Tekst & "', "
strSQL = strSQL & "'" & Link & "', "
strSQL = strSQL & "'" & Linktekst & "', "
strSQL = strSQL & "'" & Startkode & "', "
strSQL = strSQL & "'" & Tilmeldnavn & "', "
strSQL = strSQL & "'" & Telefon & "', "
strSQL = strSQL & "'" & Email & "', "
strSQL = strSQL & "'" & Arrangor & "')"

' SQL sætning eksekveres
Conn.Execute(strSQL)

Startdato = ""
Slutdato = ""
Titel = ""
Sted = ""
Tekst = ""
Link = ""
Linktekst = ""
Startkode = ""
Tilmeldnavn = ""
Telefon = ""
Email = ""
Arrangor = ""


strSQL="SELECT Top 1 * FROM Kalender Order by Id Desc"
Set rs = Conn.Execute(strSQL)

startdag = formatdatetime(rs("startdato"), Vbshortdate)
startdag = Left(startdag, 2)

startmaned = formatdatetime(rs("startdato"), Vbshortdate)
startmaned = Mid(startmaned,4,2)

startar = formatdatetime(rs("startdato"), Vbshortdate)
startar = "20" & right(startar,2)

startklokken = replace(formatdatetime(rs("startdato"), Vbshorttime), ":", "")
if startklokken = "0000" then
startklokken = "3000"
else
startklokken = startklokken
end if

startkode = startar & startmaned & startdag & startklokken

startar = ""
startmaned = ""
startdag = ""
startklokken = ""

kalenderid = rs("id")


strSQL="UPDATE Kalender SET Startkode='"&Startkode&"' WHERE id="&kalenderid
Conn.Execute(strSQL)

' Luk databaseforbindelse

Conn.Close
Set Conn = Nothing

startkode = ""
kalenderid = ""

Response.redirect "aktiviteter-retteliste.asp"

%>
Avatar billede medions Nybegynder
10. juni 2002 - 20:19 #26
Thomas> Jeg har før fået denne fejl hvis jeg har glemt at sætte en WHERE clouse på! Operation must use an updateable query!

//>Rune
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