Solved

Microsoft JET Database Engine error '80004005'

Posted on 2004-08-30
19
10,893 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
 
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
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

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Passing special characters in http get request 7 39
Leverage browser caching 2 46
pass url parameter as session 9 40
Time/Date Query 11 35
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 was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
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…

747 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

13 Experts available now in Live!

Get 1:1 Help Now