When using Microsoft Access, you may have come across one of the following
errors:
Microsoft OLE DB Provider for ODBC Drivers error
'80004005'
[Microsoft][ODBC Microsoft Access 97 Driver]
Operation must use an updateable query.
or
Microsoft JET Database Engine (0x80004005)
Operation must use an updateable query.
or
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[Microsoft][ODBC Microsoft Access 97 Driver]
Record(s) can't be read; no read permission on '<table>'.
or
Microsoft JET Database Engine error '80040e09'
Cannot update. Database or object is read-only.
or
Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[Microsoft][ODBC Microsoft Access 97 Driver] You don't have the
necessary
permissions to use the '<table>' object. Have your system administrator
or
the person who created this object establish the appropriate permissions
for
you.
This is almost always a permissions issue. Be sure that the MDB file is in a
folder where IUSR_<machineName> and IWAM_<machineName> have read/write access
(because the anonymous user needs to create an .LDB file when modifying the
database). If you are using Windows Authentication, make sure all authenticated
users belong to a group that has read/write permissions on the folder where the
database exists, and if you can't use a group, step through each user and check
that they have sufficient privileges.
Also be sure that the MDB file itself isn't marked as read-only, and that you
don't have the MDB file open (particularly in exclusive mode) while trying to
reach the DB from ASP. Make sure you are not using simple file sharing, that you
are using an NTFS volume, and that you open Access using the mode
adModeReadWrite
For permissions issues, see
KB #175168 for more information.
Another possible reason is that the column actually can't be updated, for
example because of a constraint relationship with another table.
Of course this error could also happen if you're storing your Access database on
a floppy disk that has write protection enabled (or that is full). Please don't
do this; using Access is inefficient enough. You don't want to add floppy seek
time to your performance issues.If
you are using PLESK control panel in Windows hosting, do the following steps
- Login to your account and go to your domain
control panel
- Under Hosting, click on "File Manager"
- Navigate to the folder in which your MS
Access database resides. Please note that you should not place the MS Access
database in the root folder.
- Against the folder, click on the "Change
Permission" icon (It would look like a lock)
- Select Plesk IIS User, and on the adjacent
frame, you could see list of checkboxes with Allow and Deny options.
Check the Allow boxes for "Modify, Read & Execute, List Folder Contents,
Read, Write" - Click OK. If you are still getting the
error, then repeat the same for Plesk IIS WP User