首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bsddb 4.2.52 DBInvalidArgError 22无效参数

bsddb 4.2.52 DBInvalidArgError 22无效参数
EN

Stack Overflow用户
提问于 2013-04-11 21:10:20
回答 1查看 1K关注 0票数 1

我只是尝试使用bsddb在Python中调用open,但遇到了以下错误。有什么想法吗?如果没有,是否有办法获得更详细的调试错误信息,获得更多的信息可能会帮助我进一步研究。一个没有很多细节的错误代码肯定帮不上什么忙。

DBInvalidArgError:(22,“无效论证”)

来源:

代码语言:javascript
复制
import bsddb, bsddb.db

...
try:
    e = bsddb.db.DBEnv()
    e.open('/mydir', bsddb.db.DB_CREATE | bsddb.db.DB_INIT_MPOOL)
...

附加信息:在/mydir中,我有一个DB_CONFIG文件:

代码语言:javascript
复制
set_data_dir /mydir/current_data
# 128MB
set_cachesize 0 134217728 1

更新:,我想我在这里讨论了一些东西,因为它与bsddb & bsddb.db版本有关:

代码语言:javascript
复制
> $python
> Python 2.5...
> import bsddb, bsddb.db
> print bsddb.__version__, bsddb.db.version()
> 4.4.5 (4, 2, 52)
> bsddb.db.DBEnv().open('/mydir/')
> bsddb.db.DBInvalidArgError: (22, 'Invalid argument')

> $python2.6
> Python 2.6.6...
> import bsddb, bsddb.db
> print bsddb.__version__, bsddb.db.version()
> 4.7.3 (4, 7, 25)
> bsddb.db.DBEnv().open('/mydir/')
> 

如果我用python2.6运行它,就不会出错。

EN

回答 1

Stack Overflow用户

发布于 2015-01-09 18:00:04

是的,BerkeleyDB过去常在版本不匹配时返回EINVAL。

最近(像去年的5+ ),BerkeleyDB返回DB_VERSION_MISMATCH。

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

https://stackoverflow.com/questions/15958917

复制
相关文章

相似问题

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