Microsoft JET Database Engine error '80004005'

Microsoft JET Database Engine error '80004005'

Operation must use an updateable query.

/add_file.asp, line 27

<%
Option Explicit
%>
<html>
<head>
<title>Add File To Data Base</title>
<style fprolloverstyle>A:hover {color: #FF0000; font-family: Verdana; font-size: 12pts.}
</style>
</head>
<body bgcolor="#FFE4CA" vlink="#0000FF">
<%


Dim FilePath, Description, conn, path, DsnAccess, rs, sqlstring

FilePath = Trim(Cstr(Request.Form("FilePath")))
Description = Trim(Cstr(Request.Form("Description")))

If FilePath <> "" and Description <> "" Then
            set conn = server.createobject("adodb.connection")
            path = server.mappath("filedb.mdb")
            DsnAccess = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& path
            conn.open DsnAccess
            set rs = server.createobject ("adodb.recordset")
            
            sqlstring = "insert into list(description, filepath) values('" & Description & "', '" & FilePath & "')"
            set rs = conn.execute(sqlstring)
            
            conn.close
            set rs = nothing
            set conn = nothing
      
            Response.Write "<font face=""Verdana"" size=""2"">File successfully submited!</font>"
            Response.Write "<p><font face=""Verdana"" size=""2""><a href=""add_file.asp"">Submit More Files</a> | <a href=""default.asp"">Execute Files</a> | <a href=""delete.asp"">Delete Files</a></font></p>"
      
Else
%><form method="POST" action="add_file.asp">
<p>
  <font face="Verdana"><b>Choose File to Add to Data Base</b></font></p>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="13%">
  <font face="Verdana" size="2">File Path:</font></td>
    <td width="87%">
  <input type="file" name="FilePath" size="60" style="font-family: Verdana; font-size: 12pts."><font face="Verdana" size="2"> </font>
    <font size="2">(*)</font></td>
  </tr>
  <tr>
    <td width="13%">
  <font face="Verdana" size="2">File Description:</font></td>
    <td width="87%">
  <input type="text" name="Description" size="60" style="font-family: Verdana; font-size: 12pts."></td>
  </tr>
</table>
<p>
  <font face="Verdana"><font size="1">(*) only .exe files are supported!<br>
  </font><br>
  <input type="submit" value="Submit" name="Submit" style="font-family: Verdana; font-size: 12pts.">
  <input type="reset" value="Reset" name="Reset" style="font-family: Verdana; font-size: 12pts."></font></p>
</form>
<p><font face="Verdana" size="2"><a href="upl.asp">Execute Files</a> | <a href="delete.asp">Delete Files</a></font></p>
<%
End If
%>
</body>
</html>

Any suggestions?
nfiniteAsked:
Who is Participating?
 
fritz_the_blankConnect With a Mentor Commented:
Okay, you will have to get in contact with the support people and ask them to give the IUSR_ and IWAM_ accounts READ/WRITE permissions to the dirctory that holds your database.

FtB
0
 
j2nkuCommented:
Check that your internet user account has "write" permissions for this file, this is 99% the reason of this error.
0
 
j2nkuCommented:
Some extra info:

Internet guest accounts default username is usually IUSR_<servername> (if your server name is WEB, then it should be IUSR_WEB).
The permissions are usually lost when you overwrite the MDB file over FTP or copy it over.
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
nfiniteAuthor Commented:
I'm using www.verio.com hosting.How can i put right permissions for it?
0
 
fritz_the_blankCommented:
You can't really get a recordset back from an INSERT, only from a SELECT. This should help:

strDataPath = server.mappath("filedb.mdb")
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;"_
                  & " Data Source= " & strDataPath & ";"_
                  & " Mode=Share Deny None;User Id=admin;PASSWORD=;"

Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionTimeout = 15
objConnection.CommandTimeout =  10
objConnection.Mode = 3 'adModeReadWrite
objConnection.Open strConnectionString
sqlstring = "insert into list(description, filepath) values('" & Description & "', '" & FilePath & "')"
objConnection.Execute(sqlstring)
0
 
fritz_the_blankCommented:
0
 
fritz_the_blankCommented:
Oh, since you are using option explicit (always a good idea) we need to be more careful:

Dim FilePath, Description, conn, path, DsnAccess, rs, sqlstring

FilePath = Trim(Cstr(Request.Form("FilePath")))
Description = Trim(Cstr(Request.Form("Description")))

If FilePath <> "" and Description <> "" Then
      dim strDataPath, strConnectionString, objConnection, sqlstring
      strDataPath = server.mappath("filedb.mdb")
      strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;"_
                           & " Data Source= " & strDataPath & ";"_
                           & " Mode=Share Deny None;User Id=admin;PASSWORD=;"

      Set objConnection = Server.CreateObject("ADODB.Connection")
      objConnection.ConnectionTimeout = 15
      objConnection.CommandTimeout =  10
      objConnection.Mode = 3 'adModeReadWrite
      objConnection.Open strConnectionString
      sqlstring = "insert into list(description, filepath) values('" & Description & "', '" & FilePath & "')"
      objConnection.Execute(sqlstring)
0
 
nfiniteAuthor Commented:
to fritz_the_blank

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'strDataPath'

/add_file.asp, line 21
0
 
fritz_the_blankCommented:
Oops, did you see my last post with the variables dimensioned?

FtB
0
 
nfiniteAuthor Commented:
Microsoft VBScript compilation error '800a0411'

Name redefined

/add_file.asp, line 19

dim strDataPath, strConnectionString, objConnection, sqlstring
0
 
fritz_the_blankCommented:
Okay, hang on a second and I'll redo all of this in one post.

FtB
0
 
fritz_the_blankCommented:
This should be it:

<%
Option Explicit
%>
<html>
<head>
<title>Add File To Data Base</title>
<style fprolloverstyle>A:hover {color: #FF0000; font-family: Verdana; font-size: 12pts.}
</style>
</head>
<body bgcolor="#FFE4CA" vlink="#0000FF">
<%
Dim FilePath, Description
FilePath = Trim(Cstr(Request.Form("FilePath")))
Description = Trim(Cstr(Request.Form("Description")))
FilePath = Trim(Cstr(Request.Form("FilePath")))
Description = Trim(Cstr(Request.Form("Description")))

If FilePath <> "" and Description <> "" Then
     dim strDataPath, strConnectionString, objConnection, sqlstring
     strDataPath = server.mappath("filedb.mdb")
     strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;"_
                       & " Data Source= " & strDataPath & ";"_
                       & " Mode=Share Deny None;User Id=admin;PASSWORD=;"

     Set objConnection = Server.CreateObject("ADODB.Connection")
     objConnection.ConnectionTimeout = 15
     objConnection.CommandTimeout =  10
     objConnection.Mode = 3 'adModeReadWrite
     objConnection.Open strConnectionString
     sqlstring = "insert into list(description, filepath) values('" & Description & "', '" & FilePath & "')"
     objConnection.Execute(sqlstring)
     
        Response.Write "<font face=""Verdana"" size=""2"">File successfully submited!</font>"
        Response.Write "<p><font face=""Verdana"" size=""2""><a href=""add_file.asp"">Submit More Files</a> | <a href=""default.asp"">Execute Files</a> | <a href=""delete.asp"">Delete Files</a></font></p>"
     
       objConnection.Close
       set objConnection = Nothing
Else
%><form method="POST" action="add_file.asp">
<p>
  <font face="Verdana"><b>Choose File to Add to Data Base</b></font></p>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="13%">
  <font face="Verdana" size="2">File Path:</font></td>
    <td width="87%">
  <input type="file" name="FilePath" size="60" style="font-family: Verdana; font-size: 12pts."><font face="Verdana" size="2"> </font>
    <font size="2">(*)</font></td>
  </tr>
  <tr>
    <td width="13%">
  <font face="Verdana" size="2">File Description:</font></td>
    <td width="87%">
  <input type="text" name="Description" size="60" style="font-family: Verdana; font-size: 12pts."></td>
  </tr>
</table>
<p>
  <font face="Verdana"><font size="1">(*) only .exe files are supported!<br>
  </font><br>
  <input type="submit" value="Submit" name="Submit" style="font-family: Verdana; font-size: 12pts.">
  <input type="reset" value="Reset" name="Reset" style="font-family: Verdana; font-size: 12pts."></font></p>
</form>
<p><font face="Verdana" size="2"><a href="upl.asp">Execute Files</a> | <a href="delete.asp">Delete Files</a></font></p>
<%
End If
%>
</body>
</html>
0
 
nfiniteAuthor Commented:
Microsoft JET Database Engine error '80004005'

Operation must use an updateable query.

/add_file.asp, line 31

same thing as before.
0
 
fritz_the_blankCommented:
Okay, the code looks good, so we need to return to j2nku's concern about permissions (we still had to do what we did above, however, so this wasn't wasted time).

Is this your server or are you using a hosting service?

FtB
0
 
nfiniteAuthor Commented:
i'm using hosting at www.verio.com
0
 
fritz_the_blankCommented:
Any reason for the grade of C here?

FtB
0
 
Frog357Commented:
The permission problem solved this for me, thank you again!  Someone changed permissions for the site in Frontpage and somehow this replaced the permissions on this file.
0
 
fritz_the_blankCommented:
Glad to have helped,

FtB
0
All Courses

From novice to tech pro — start learning today.