0

我在 test/ 目录中有一个 data.mdb 和 lock.mdb 文件。我试图使用 python lmdb 包从 lmdb 数据库中读取/写入数据。我试过了

import lmdb
env = lmdb.open('test', map_size=(1024**3), readonly=True)

但出现以下错误:

lmdb.Error: test: No locks available

然后我尝试了

mdb_stat test

使用从源代码编译的单独安装的 lmdb 库并收到以下错误:

mdb_env_open failed, error 37 No locks available

但是,在python中我也尝试过

env = lmdb.open('test', map_size=(1024**3), lock=False)

这有效,我可以正常从数据库中读取数据。

我非常努力地在 Google 上搜索了“lmdb no locks available error”,但一无所获。任何人都知道这个错误来自哪里?

谢谢!

4

1 回答 1

0

使用 mdb_stat 中的 -r 选项检查读取器锁定表中的读取器数量。您可能达到了读者数量的最大限制。您可以尝试将此限制设置为更高的数字。

于 2016-06-05T20:08:56.943 回答