I'm having a little bit of a problem that I thought was related to Security but, turns out can't be as I did almost everything ...
Plenty of information on this on the web but nothing has an answer to fix the issue.
Let me tell my steps:
- Have a Website on VS2k8 that when I debug or start from Cassini, all works fine
- When setting up IIS 7.5 (Win7) to point to this website and after adding IIS_IUSRS Modify rights I get the error
- Same thing using IIS 6.0!
Img: Security on Database File from IIS 7.5
alt text http://www.balexandre.com/temp/2010-02-25_1028.png
Note that all other files and folders have the same rights as above
The full Error is:
Log: Executing query on SQLite Database
Message ***************************************
Attempt to write a read-only database
attempt to write a readonly database
Stack Trace ***********************************
at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
at soDatabaseManager.CommitPersonsToKitchenDatabase() in c:\Adwiza\Kitchen\App_Code\soDatabaseManager.cs:line 242
P.S. Keep in mind that this has to work with IIS 6 (windows 2003) as well, the IIS 7.5 is only for troubleshooting as we have more control in everything...
Make sure that the anonymous web user account (NETWORK SERVICE or maybe something else) under which your web application executes has read/write/create/delete access to the folder where the sqlite database resides.
The other answer give me an idea about the problem, but my solution was a bit differente. The problem was that the user did not have permissions to modify the folder and the .db file. So I give permission to the user Everyone (collective group for Authenticated Users and Guest). The permisions on NETWORK SERVICE (or similars) did not solve in my case.
Note: The
IIS
must be restarted, after the change, to load the change made.