首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么IronPython不支持SQLite 3的预写日志记录,尽管它的SQLite版本应该支持?

为什么IronPython不支持SQLite 3的预写日志记录,尽管它的SQLite版本应该支持?
EN

Stack Overflow用户
提问于 2015-05-26 23:22:02
回答 1查看 264关注 0票数 0

我试图通过一个SQLite脚本将journal_mode设置为wal (预写日志)。

IronPython的安装版本是

IronPython 2.7 2.7.5.0在.NET 4.0.30319.18444上

它使用的SQLite版本是3.7.7,通过运行print sqlite3.sqlite_version获得。

WAL支持是在SQLite中添加到3.7.0版中的,那么为什么这个脚本无法运行呢?

如果我执行pragma journal_mode=wal;,我只会得到delete的响应。

如果我试图打开一个已经设置为WAL的数据库,我会得到一个_sqlite3.DatabaseError: file is encrypted or is not a database (wal format detected)错误。

EN

回答 1

Stack Overflow用户

发布于 2015-05-27 07:57:28

模式文档说:

如果无法更改日记模式,则返回原始日记模式。… 还请注意,当事务处于活动状态时,不能更改journal_mode。

因此,您必须确保数据库库不尝试聪明,并自动启动事务。

但是,这不会阻止WAL数据库的打开。

可以从拆下瓦状支承库中获取SQLite。显然,这是由于某种原因由数据库驱动程序完成的;如果您希望能够使用WAL,则必须使用任何其他SQLite驱动程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30470617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档