从浏览器对表进行插入,更新和删除操作时出现SQLite3 :: SQLException:SQL逻辑错误 或缺少数据库
错误(这意味着创建,更新和销毁操作失败但show动作很好),控制台中的相同操作就可以了。我搜索了这个问题,发现大多数解决方案是删除灯具中的重复,所以我从夹具中删除了所有测试数据并重新启动服务器,它再次失败:(
任何建议表示赞赏。
答案 0 :(得分:2)
事实证明,我忘了使用"sudo script/server"
来获取数据库的写权限:)
答案 1 :(得分:2)
我并不是要复活死者,但我刚遇到这个问题,我发现的流行答案并不适用。
我的问题原来是Firefox的SQLite Manager附加组件。我使用SysInternals“句柄”程序来确定a)Firefox / SQLiteManager有(我假设)一个打开的事务,而b)每次我使用附加组件连接到数据库时,它都没有破坏前一个,这是不再可访问的。
我退出了Firefox,我的代码运行正常。我再次加载了Firefox和SQLite Manager,但没有开始交易;再次,我的代码运行正常。我的代码是Python,而不是RoR。
我会推荐这个答案,并为[sqlite3]标记原始问题。这绝对不是RoR特有的。
答案 2 :(得分:0)
这可能不是我观察的正确位置,但是:
我花了几个小时来查找将两个C ++线程连接到一个数据库的问题。
出于某些愚蠢的原因,我正在从一个线程执行COMMIT
,而该线程本来打算在另一侧执行。
提交工作正常,但是另一个线程立即将AUTO COMMIT
设置为true
。