Unable to open the database file ([SQLiteException (0x80004005)])

m-r Tarakanoff 2010 M09 26
3156
0
2
0

System.Data.SQLite.SQLiteException: Unable to open the database file [SQLiteException (0x80004005): Unable to open the database file unable to open database...

System.Data.SQLite.SQLiteException: Unable to open the database file

[SQLiteException (0x80004005): Unable to open the database file
unable to open database file]
System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt) +375
System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt) +199

...

Эта ошибка возникает при попытке выполнения SQL-инструкции INSERT (UPDATE). Внимание! Не путать с подобным исключением при выполнении открытия базы данных (System.Data.SQLite.SQLite3.Open(...)). См. разницу в трассировке кода.

Всё дело в недостаточных правах на каталог (!), в котором находится *.db-файл (SQLite). Т.е. следует задать права для чтения/записи не только для файла базы данных, но и для каталога, в котором этот файл находится. Это нужно SQLite для создания временного файла журнала операций.

На поиски решения этой проблемы ушли весь выходной день, пара-тройка чайников чая, беглое чтение исходников сборки sqlite3.dll и System.Data.SQLite.dll, и копание на форуме http://sqlite.phxsoftware.com/.

Спасибо IJsbrand, который сам потратил несколько месяцев и подарил это время многим программерам :) Его пост http://sqlite.phxsoftware.com/forums/p/689/5445.aspx#5445.

Оцените пост

-2
Дальше