Если у вас возникают ошибки при работе с SQLite, то вот у меня пара решений.
Если у вас ошибка «Unable to open database file» и при этом база читается, даже если вы дали права файлу БД 0777, то вам еще надо дать права на запись папке, в которой лежит файл. Дело в том, что при открытии транзакции пишется файл dbfilename-journal. Так же под Windows эта проблема может означать наличие кириллических символов в пути к базе.
Если вы по привычке написали ON DUPLICATE KEY UPDATE …, и не понимаете в чем ошибка — обратитесь к официальному мануалу и просто измените INSERT на REPLACE, а «ON DUPLICATE…» сотрите.