SQLite3::SQLException问题:SQL逻辑错误或缺失数据库

3

SQLite3::SQLException: SQL逻辑错误 或缺少数据库

当从浏览器对表进行插入、更新和删除操作时出现错误(这意味着创建、更新和销毁操作失败,但显示操作正常),而在控制台上进行相同的操作是可以的。我在谷歌上搜索了这个问题,并发现大多数解决方案是从fixture中删除重复项,所以我从fixture中删除了所有的测试数据并重新启动了服务器,但仍然失败了:(
任何建议都将不胜感激。

3个回答

2
我不是要唤起死者,但我刚遇到了这个问题,而我找到的流行答案并不适用。
我的问题最终是由于Firefox的SQLite Manager插件引起的。我使用SysInternals的“handle”程序确定a) Firefox/SQLiteManager有一个打开的事务,并且b)每次我使用该插件连接到数据库时,它都没有销毁之前的连接,导致无法访问。
我退出Firefox后,我的代码正常运行。我重新加载了Firefox和SQLite Manager,但没有开始事务;同样,我的代码也可以正常运行。我的代码是Python,而不是RoR。
我建议将此答案以及原始问题标记为[sqlite3]。这绝对不是RoR特有的问题。

2
原来我忘记使用"sudo script/server"命令获取对数据库的写入权限 :)

0

这可能不是我观察的正确位置,但:

我花了几个小时来查找一个问题,即两个C++线程连接到一个数据库。

由于某些愚蠢的原因,我从一个线程执行了COMMIT,而实际上应该在另一侧执行。

提交成功了,但另一个线程立即将AUTO COMMIT设置为true


嗨,彼得,感谢你的观察!根据SO指南,它是否在正确的位置取决于它是否提供解决方案。SQLite不是我的专业领域,所以我会听从你的意见:你的观察是否是针对特定问题的潜在解决方案? - Maximillian Laumeister

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接