- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
bsddb.db.DBInvalidArgError: (22, '无效参数 --/dbs/supermodels.db: 意外的文件类型或格式')
此错误是否是 BDB 版本(1.85 或 3+)不兼容造成的?如果是这样,我该如何检查版本、排除故障并解决此错误?
最佳答案
是的,这当然可能是由于旧版本的 db 文件造成的,但如果您发布生成此异常的代码和完整的回溯,将会有所帮助。
如果没有这个,您确定您正在打开的数据库文件的类型正确吗?例如,尝试像哈希一样打开 btree 文件会引发您所看到的异常:
>>> import bsddb
>>> bt = bsddb.btopen('bt')
>>> bt.close()
>>> bsddb.hashopen('bt')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.4/bsddb/__init__.py", line 298, in hashopen
d.open(file, db.DB_HASH, flags, mode)
bsddb.db.DBInvalidArgError: (22, 'Invalid argument -- ./bt: unexpected file type or format')
在 *nix 中,您通常可以使用 file
命令确定数据库的类型,例如
$ file /etc/aliases.db cert8.db
/etc/aliases.db: Berkeley DB (Hash, version 8, native byte-order)
cert8.db: Berkeley DB 1.85 (Hash, version 2, native byte-order)
打开 1.85 版本文件失败并出现相同的异常:
>>> db = bsddb.hashopen('/etc/aliases.db') # works, but...
>>> db = bsddb.hashopen('cert8.db')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.4/bsddb/__init__.py", line 298, in hashopen
d.open(file, db.DB_HASH, flags, mode)
bsddb.db.DBInvalidArgError: (22, 'Invalid argument -- ./cert8.db: unexpected file type or format')
如果您需要迁移数据库文件,您应该查看 bdb 发行版附带的 db_dump
、db_dump185
和 db_load
实用程序.
关于python - BDB Python接口(interface)读取BDB时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1336617/
我在 oracle 论坛上问了几天同样的问题,但没有答案:(链接是:http://forums.oracle.com/forums/thread.jspa?threadID=2162345&tstar
在 BDB 中并行查找多个文件的值的最有效方法是什么?如果我有一个 Perl 脚本一次对一个文件执行此操作,那么在 Linux 中使用 & 符号在后台 fork /运行该进程是否有效? 如何使用 Ha
我一直在使用 BDB JE,因为它是由 SleepyCat 开发的,后来被 Oracle 收购,现在许可政策还不清楚。那么有什么可以替代这种键值数据库 键和值对象的自定义序列化程序 拥有二次收藏的能力
我正在尝试访问作为 BDB 数据库的“cert8.db”mozilla 文件。我知道有语言绑定(bind),其中包括 Java,但我正在尝试构建一个多平台应用程序,所以我认为使用像这样的 JNI 会是
bsddb.db.DBInvalidArgError: (22, '无效参数 --/dbs/supermodels.db: 意外的文件类型或格式') 此错误是否是 BDB 版本(1.85 或 3+)不
我在浏览 Python 标准库时看到了调试器框架 BDB。它有什么用,我能从中获得额外的值(value)吗?目前,我将 Eclipse/PyDev 与内部调试器一起使用,它也支持条件断点。我能从 BD
我有一个类(class)扩展 bdb.Bbd我用于分析 Python 3 代码。现在,我还需要在逐步执行程序时修改一些变量值。 在函数之外,我可以通过修改 frame.f_locals 来做到这一点。
在LongBinding类中,方法entryToLong(DatabaseEntry entry)和longToEntry(long val, DatabaseEntry entry)都是静态的。 但
我使用的是 Ubuntu 14.4 LTS。我正在尝试安装 openldap 2.4.42。我已经成功安装了先决条件组件:Cyrus-sasl.2.1.24、krb5-1.13.2、openssl-0
我正在使用 Django (2, 2, 4, 'final', 0)在 docker 中,但我可以在里面猛击以打开或执行所需的任何内容。但是我不能调试。 ( How to debug in Djang
我刚刚通过 Homebrew 软件全新安装了 mysql,当我执行 'mysql_install_db --verbose --user=whoami--basedir="$(brew -- pref
当 BDB JE 在应用程序的进程中运行时,我想找到构建系统的最佳方法,我可以在其中运行 BDB 并重新加载不断变化的应用程序逻辑和依赖项。 理想情况下,我会在单独的进程中运行 BDB,但随后我需要使
Berkeley DB 的 C++ API 看起来很简单,只是我找不到如何列出所有包含的键/值对。我在文档中错过了吗?有人有例子吗? 我阅读了官方 Berkeley DB 文档。 最佳答案 您需要的是
我正在尝试使用 JPL 将我的对象持久保存到一个简单的 BDB 中。问题是,如果我尝试在主索引中存储子类,则会收到错误(如下)。 子类在数据方面没有任何不同,但它们在功能上不同,我希望子类成为编码的实
我有一个程序可以从 Berkeley DB [安装在 SAN 存储] 中读取一个非常大的数据文件。这在使用 perl5.6.0 版本的 solaris 机器上工作得很好。 但是,同一个程序在 linu
我正在尝试在我的 Windows 机器上设置 OpenLDAP。但我遇到了错误,因此我无法继续进行设置。下面是错误示例。 bdb db open database cannot be opened e
我正在使用 Flask-SocketIO我项目中的库。因为 websockets 需要与主 Flask 应用程序“并行运行”,所以我需要使用 gevent-websocket图书馆。当我尝试在 cre
我有一个由 C 实现(python bsddb 模块)创建的 berkeley db 文件(*.bdb)。是否可以通过 Berkeley Db 的纯 Java 实现来读取此文件?我尝试使用 berke
我是一名优秀的程序员,十分优秀!