Solved

Microsoft JET Database Engine error '80004005'

Posted on 2004-08-30
19
10,916 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

 
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

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

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

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…
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
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…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

730 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