lmdb代码是从官方git repo。
获得的我的项目没有使用mdb_env_open返回代码38。
lmdb附带的测试代码也无效。
错误代码也是38,错误消息是“功能未实现”。
在ubuntu上编译的相同代码工作正常。
关于lmdb的文档很少,我甚至找不到获取返回码38的含义,并且stackoverflow中没有相应的标记。
那里有专家吗?
=============================================== =======
我发现它是因为NFS,将数据库移动到本地存储解决了这个问题。但有没有我可以在NFS中使用它的解决方案?本地存储空间太小。
答案 0 :(得分:7)
从文档的首页:http://symas.com/mdb/doc/
不要在远程文件系统上使用LMDB数据库,即使在同一主机上的进程之间也是如此。这会打破一些操作系统上的flock(),可能是内存映射同步,并且肯定会在不同主机上的程序之间同步。