Avatar billede mette5055 Nybegynder
22. august 2006 - 15:11 Der er 22 kommentarer

Microsoft JET Database Engine error 80040e09

Jeg har i adskillige måneder været ude af stand til at redigere min hjemmeside. Jeg får flg.meddelelse Microsoft JET Database Engine error 80040e09. Cannot update, Database or object is read-
only./admin/forsideedit.asp,line 82.
Jeg er ret uvidende på området, men mener ikke at have været inde og ændre noget i html koderne. Kan jeg tælle mig frem til line 82 og hvad med mellemrummene i mellem linierne ?
Er der nogen, som kan hjælpe ??

Mette
Avatar billede fennec Nybegynder
22. august 2006 - 15:18 #1
Ser ud til at databasen er skrivebeskyttet.

Er det din egen server så tjeg at IUSR_maskinnavn brugeren har skriverettighed.
Er det en udbyders, så kontakt dem for at få sat skriverettighed.
Avatar billede ffsoft Praktikant
22. august 2006 - 15:26 #2
Du kan google på: Microsoft JET Database Engine error 80040e09 og
se at det er noget der er sket før. Når du tæller linier er det
hver linie, også de tomme der tæller. Det program du bruger til
at editere med, kan sandsynligvis vise linienumre, det gør det noget
nemmere.
fennec har nok ret, det lyder som noget med rettigheder.
Avatar billede mette5055 Nybegynder
22. august 2006 - 15:27 #3
Udbyderen Jemmer Network er ikke til at få fat i,han besvarer ikke opkald. men jeg har jo kunnet redigere indtil for 4 måneder siden. her lagde jeg nye billeder ind på forsiden - og måske har jeg fået lavet en fejl der.
Mette
Avatar billede mette5055 Nybegynder
22. august 2006 - 15:31 #4
Jeg har selvfølgelig googlet på fejlmeddelelsen, og det synes som om der enten er en fejl i linien eller fra udbyder. Hvis det er fra udbyder - så er jeg prisgivet......
men hvis det er en skrivefejl, så kan den måske rettes..
Avatar billede ffsoft Praktikant
22. august 2006 - 15:32 #5
Hvis du stadig har ftp adgang kan du nå at redde stumperne.
Avatar billede fennec Nybegynder
22. august 2006 - 15:33 #6
Det kan være din cursor i din database connection (den kan nemlig også sættes til readonly)
Vi skal se noget kode før vi kan udtale os nærmere om det...
Avatar billede fennec Nybegynder
22. august 2006 - 15:34 #7
Kunne du smide de første 82 linjer fra forsideedit.asp herind??
Avatar billede mette5055 Nybegynder
22. august 2006 - 15:40 #8
Jeg har stadig ftp adgang.
jeg sender lige koden for /admin/forsideedit.asp

<% if Session("ABDESIGN_status") <> "login" then response.redirect "login.asp" %>
<%
Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.CacheControl = "no-cache"
%>
<!--#include file="db.asp"-->
<%
response.buffer = true

'get key
key = request.querystring("key")
if key="" or isnull(key) then
    key=request.form("key")
end if
if key="" or isnull(key) then response.redirect "forsidelist.asp"

'get action
a=request.form("a")
if a="" or isnull(a) then
    a="I"    'display with input box
end if

'get fields from form

x_Overskrift = Request.Form("x_Overskrift")
x_Tekst = Request.Form("x_Tekst")
x_Link1 = Request.Form("x_Link1")
x_Link2 = Request.Form("x_Link2")
x_Link3 = Request.Form("x_Link3")


' Open Connection to the database
set conn = Server.CreateObject("ADODB.Connection")
conn.Open xDb_Conn_Str

Select Case a
    Case "I": ' Get a record to display

        tkey = key
        strsql = "SELECT * FROM [forside] WHERE [ID]=" & tkey

        set rs = Server.CreateObject("ADODB.Recordset")
        rs.Open strsql, conn
        If rs.EOF Then
            Response.Clear
            Response.Redirect "forsidelist.asp"
        Else
            rs.MoveFirst
        End If

        ' Get the field contents
        x_Overskrift = rs("Overskrift")
        x_Tekst = rs("Tekst")
        x_Link1 = rs("Link1")
        x_Link2 = rs("Link2")
        x_Link3 = rs("Link3")


        rs.Close
        Set rs = Nothing

    Case "U": ' Update

        ' Open record
        tkey = key
        strsql = "SELECT * FROM [forside] WHERE [ID]=" & tkey

        set rs = Server.CreateObject("ADODB.Recordset")
        rs.Open strsql, conn, 1, 2

        If rs.EOF Then
            Response.Clear
            Response.Redirect "forsidelist.asp"
        End If

       
tmpFld = Trim(x_Overskrift)
If trim(tmpFld) & "x" = "x" Then tmpFld = Null
rs("Overskrift") = tmpFld
tmpFld = Trim(x_Tekst)
If trim(tmpFld) & "x" = "x" Then tmpFld = Null
rs("Tekst") = tmpFld
tmpFld = Trim(x_Link1)
If trim(tmpFld) & "x" = "x" Then tmpFld = Null
rs("Link1") = tmpFld
tmpFld = Trim(x_Link2)
If trim(tmpFld) & "x" = "x" Then tmpFld = Null
rs("Link2") = tmpFld
tmpFld = Trim(x_Link3)
If trim(tmpFld) & "x" = "x" Then tmpFld = Null
rs("Link3") = tmpFld





        rs.Update
        rs.Close
        Set rs = Nothing
        conn.Close
        Set conn = Nothing
        Response.Clear
        Response.Redirect "forsidelist.asp"
End Select
%>
<!--#include file="header.asp"-->
      <p><b>Rediger forsiden</b>
      <p>&nbsp;
      <p id="beskriv2"><a href="forsidelist.asp"><img src="../images/pil_bag.gif" width="16" height="14" border="0" align="absmiddle">Tilbage
        til listen</a></p>
      <script language="JavaScript" src="ew.js"></script>
      <script language="JavaScript">
<!-- start Javascript
function  EW_checkMyForm(EW_this) {
return true;
}
// end JavaScript -->
</script>
      <form onSubmit="return EW_checkMyForm(this);"  action="forsideedit.asp" method="post">
        <p>
          <input type="hidden" name="a" value="U">
          <input type="hidden" name="key" value="<%= key %>">
        <table border="0" cellspacing="0" cellpadding="0" >
          <tr>
            <td  id="row2">Overskrift&nbsp;</td>
            <td  id="beskriv"> <input type="text" size="35" name="x_Overskrift" value="<%= x_Overskrift %>">
              &nbsp;</td>
          </tr>
          <tr>
            <td  id="row2">Tekst&nbsp;</td>
            <td  id="beskriv"> <textarea cols="35" name="x_Tekst" rows="5"><%= x_Tekst %></textarea>
              &nbsp;</td>
          </tr>
          <tr>
            <td  id="row2">Link 1&nbsp;</td>
            <td  id="beskriv"> <input type="text" size="35" name="x_Link1" value="<%= x_Link1 %>">
              &nbsp;</td>
          </tr>
          <tr>
            <td  id="row2">Link 2&nbsp;</td>
            <td  id="beskriv"> <input type="text" size="35" name="x_Link2" value="<%= x_Link2 %>">
              &nbsp;</td>
          </tr>
          <tr>
            <td  id="row2">Link 3&nbsp;</td>
            <td  id="beskriv"> <input type="text" size="35" name="x_Link3" value="<%= x_Link3 %>">
              &nbsp;</td>
          </tr>
        </table>
        <p>
          <input type="submit" name="Action" value="Rediger">
      </form>
      <!--#include file="footer.asp"-->
Avatar billede fennec Nybegynder
22. august 2006 - 15:55 #9
Prøv at ændre (linje 72):
rs.Open strsql, conn, 1, 2

til:
rs.Open strsql, conn, 1, 3

Så du kører med LockOptimistic.
Avatar billede mette5055 Nybegynder
22. august 2006 - 16:02 #10
Så har jeg ændret den, men det hjælper desværre ikke.
Avatar billede fennec Nybegynder
22. august 2006 - 16:09 #11
Vi skal vist have laven en test på om du overhoved har skrive rettighed.

Kan du smide din db.asp fil herind også. Husk at fjerne evt username/passwords i kode, hvis din DB er beskyttet.
Avatar billede mette5055 Nybegynder
22. august 2006 - 16:14 #12
Er det bare denne lille fil ?
<%
xDb_Conn_Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data/nisser.mdb") & ";"
%>
Avatar billede fennec Nybegynder
22. august 2006 - 16:28 #13
Lav lige en test ASP fil med disse linjer:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data/nisser.mdb") & ";"
conn.execute("update enTabel set enKol=123 where id=123")

Ret update syntaxen så den passer på en tabel og kolonne du har i databasen. Hvis du får samme fejl som før, har du mistet skriverettighederne...
Avatar billede mette5055 Nybegynder
22. august 2006 - 16:36 #14
Øh... Jeg skrev, at jeg var lidt uvidende.... måske er det nu på tide at rette det til meget uvidende. Jeg har aldrig skrevet noget i html - ej heller oprettet en aspfil.
Så - med mindre det er meget enkelt - så kommer jeg til at vente til jeg får besøg af en med lidt mere erfaring end mig.
Men måske kan jeg finde ud af det.... Kan du forklare det for en meget enfoldig person ??
Avatar billede fennec Nybegynder
23. august 2006 - 09:31 #15
Kender du til SQL kommandoerne, som er sproget, der bruges til databaser (insert/update/delete syntaxerne)??
Avatar billede mette5055 Nybegynder
23. august 2006 - 09:37 #16
Desværre nej. Min hjemmeside har fungeret på den måde at al text har kunnet redigeres direkte fra admin siden ( næsten som i word ) Når jeg skulle lægge billeder ind gjorde jeg det via ftp,en, hvor jeg kunne åbne asp filerne i frontpage.
Avatar billede mette5055 Nybegynder
23. august 2006 - 09:40 #17
Men jeg har også opdaget at når jeg forsøger at redigere forskellige steder på hjemmesiden - så får jeg samme meddelelse men forskellige linie fejl.
Jeg har endnu engang forsøgt at kontakte Jemmer Network via mail, men nærer ikke de store forhåbninger til et svar.
Avatar billede fennec Nybegynder
23. august 2006 - 09:53 #18
Du skal bare åbne Notepad og skrive denne tekst ind:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data/nisser.mdb") & ";"
conn.execute("Update [forside] set Link1=Link1")
response.write "Det virkede..."
%>

Den tekst gemme du så som en .asp fil (MinTest.asp) og uploader filen til serveren. Start så en browser og skriv stien til filen i adresselinjen (www.ditdomæne.dk/MinTest.asp)

Hvis du får fejlen, kan vi være rigmelig sikker på at det er en fejl angående skriverettighed. Kommer "Det virkede..." ud på skærmen er det ikke et skriverettigheds problem.
Avatar billede mette5055 Nybegynder
23. august 2006 - 10:15 #19
Ja, så får jeg denne fejl - så det er jo nok et skriverettighedsproblem.


Microsoft JET Database Engine error '80004005'

Operation must use an updateable query.

/Min Test.asp, line 6

Man kan jo sige at du har løst opgaven - problemet kan jeg ikke gøre noget ved, når udbyderen aldrig svarer på henvendelser. Jeg må  i gang med en ny hjemmeside.
Tak for din entusiasme - pointene er dine.
Jeg tror, at jeg må prøve at lære noget om html..... Jeg hader at føle mig totalt hjælpeløs.

Mette
Avatar billede fennec Nybegynder
23. august 2006 - 11:11 #20
Til at lære ASP kan jeg anbefale denne tutorial. Den gennemgår de fleste muligheder inden for ASP, samt de holder det simpelt og letforstålig. Kræver desudne ikke forkenskab til HTML (selv om de skriver det)
http://www.html.dk/tutorials/asp/

ASP er alt det der står inden i <% ASP KODE %> og er det der bruges til at komunikere med databasen. HTML er det der bestemmer, hvordan data fra ASP skal præsenteres.

De har også en HTML tut, men den er ikke helt op to date. Det du skal have derfra er desuden kun en liste af de almindelig tags (<br>,<table>,<div>,<img>) samt forståelse for opbygning, og det klare den fint:
http://www.html.dk/tutorials/html/

.o) <-- One Eyed Jack
Avatar billede mette5055 Nybegynder
23. august 2006 - 11:55 #21
Tak

Mette
Avatar billede fennec Nybegynder
23. august 2006 - 12:40 #22
no prob :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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