在python中打开berkeley数据库时出现问题

2024-06-24 13:17:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用bdtables在python中打开berkeley数据库时遇到问题。由于bdtables由我用来访问数据库的库使用,所以我需要它来工作。在

问题似乎是我试图打开的数据库环境(我有一个数据库副本要打开),是4.4版,而libdb是4.6版。我得到以下错误使用bsddb.dbtables.bsdTableDB([dbname],[folder]):

(-30972, "DB_VERSION_MISMATCH: Database environment version mismatch -- Program version 4.6 doesn't match environment version 4.4")

但是,bsddb.bt打开([dbname])工作。在

我还尝试过安装db4.4-util、db4.5-util和db4.6-util。尝试使用db4.6_验证结果:

^{pr2}$

db4.4_在计算机上验证结果只是挂起,没有发生任何事情。在

最后,如果我在数据库上运行db4.4_recover,那就可以了。但是,后来我在python中得到了以下错误“No sus file or directory”。在


Tags: 数据库environment环境version错误util副本folder
2条回答

我认为答案应该放在“答案”部分,而不是作为问题的补遗,因为这样就可以在不同的问题列表页面上找到答案。我会帮你的,但是,如果你也有时间去做,请在我的答案上留下评论,这样我就可以删除它了。在

引用“回答问题”:

验证了这个问题的所有问题,我最终解决了问题。“没有这样的文件或目录”是由一些__XXX数据库文件丢失。使用

bsddb.dbtables.bsdTableDB([dbname],[folder], create=1)

在db4.4_recover之后,创建了这些文件,现在一切都正常了。在

不过,这是一个有点模糊的问题,最初很难弄清楚。{但我有这个问题,谢谢你。如果将来有人遇到同样的问题,我会把它贴在这里stackoverflow.com网站在

妈的,验证了这个问题的一切我最终解决了问题。“没有这样的文件或目录”是由一些__XXX数据库文件丢失。使用bsddb.dbtables.bsdTableDB([dbname],[folder],create=1)在db4.4_recover之后,创建了这些文件,现在一切都正常了。在

不过,这是一个有点模糊的问题,最初很难弄清楚。但是由于从CLI检查Berkeley数据库文件的问题,我得到了我需要的工具。如果将来有人遇到同样的问题,我会把它贴在这里stackoverflow.com网站在

相关问题 更多 >