Thursday, May 21, 2009

Operation must use an updateable query

Microsoft JET Database Engine error '80004005'

Operation must use an updateable query.
I think every web developer has seen this error at one time or another, and probably more than once. When I see it now, I actually smile, because it's an easy one to fix. It happens when you try to add or edit a record in an Access database through your web site.

This isn't a database error per se, it's actually a permissions error. Without going into too much detail, it's cause when the Internet Guest Account on your IIS server doesn't have permissions to write to a folder.

The Internet Guest Account is the accout IIS uses by default for web site visitors. When you add or edit a record in Access, requires that the account editing or creating the record have write permissions to the folder the Access database it in.

If you have access to your server, open file exploere and navigate to the folder containing your Access databse. Right click, select Properties, then click on the Security tab. In the Groups or user name box, scroll until you see Internet Guest Account. Select it, then look in the Permission box underneath and make sure Write is checked.

If you don't have access to your server, you'll have to contact support at your hosting company and ask them to do it. Any hosting company wirth its salt with know exactely what you mean when you say "I need you to set write permissions for Internet Guest Account on the folder that has my Access database in it."

No comments: