Solved

Microsoft JET Database Engine error '80004005'

Posted on 2004-08-30
19
10,901 Views
Last Modified: 2013-12-03
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?
0
Comment
Question by:nfinite
  • 10
  • 5
  • 2
  • +1
19 Comments
 
LVL 7

Expert Comment

by:j2nku
ID: 11934965
Check that your internet user account has "write" permissions for this file, this is 99% the reason of this error.
0
 
LVL 7

Expert Comment

by:j2nku
ID: 11934993
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
 

Author Comment

by:nfinite
ID: 11935117
I'm using www.verio.com hosting.How can i put right permissions for it?
0
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 11935127
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
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 11935151
0
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 11935183
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
 

Author Comment

by:nfinite
ID: 11935193
to fritz_the_blank

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'strDataPath'

/add_file.asp, line 21
0
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 11935228
Oops, did you see my last post with the variables dimensioned?

FtB
0
 

Author Comment

by:nfinite
ID: 11935281
Microsoft VBScript compilation error '800a0411'

Name redefined

/add_file.asp, line 19

dim strDataPath, strConnectionString, objConnection, sqlstring
0
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 11935322
Okay, hang on a second and I'll redo all of this in one post.

FtB
0
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 11935366
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
 

Author Comment

by:nfinite
ID: 11935492
Microsoft JET Database Engine error '80004005'

Operation must use an updateable query.

/add_file.asp, line 31

same thing as before.
0
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 11935508
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
 

Author Comment

by:nfinite
ID: 11935676
i'm using hosting at www.verio.com
0
 
LVL 46

Accepted Solution

by:
fritz_the_blank earned 500 total points
ID: 11935691
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
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 11951779
Any reason for the grade of C here?

FtB
0
 
LVL 4

Expert Comment

by:Frog357
ID: 12174484
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
 
LVL 46

Expert Comment

by:fritz_the_blank
ID: 12179134
Glad to have helped,

FtB
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

816 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now