Admittedly, the error message is misleading.
The reason for this error message is that the process runs under an identity (usually ASP.NET) that only has read access to the database and hasn't access to modify that.
So, to solve this problem you must set full access of ASP.Net user to Database file.
If run it on local machine you can right click on the database file in Windows Explorer, go to the Security tab, and give the ASP.NET user modify rights to the file, but if your web site on the internet you must using your Control panel setting (such as C-Panel or Plesk) to set permission.