Я пытался записать данные в базу данных lmdb (взял ссылку из caffe / tools / convert_imageset.cpp). В консоли не было ошибок, но размер файла .mdb остается нулевым, т.е. в файл не записываются данные, но создаются данные и файл блокировки.
Часть кода, которую я попробовал:
scoped_ptr<db::DB> db(db::GetDB("lmdb"));
db->Open(argv[3], db::NEW);
scoped_ptr<db::Transaction> txn(db->NewTransaction());
datum.SerializeToString(&out);
txn->Put(key1, out);
txn->Commit();
Я не смог понять, если я что-то упустил. Любые ссылки на то, как работает LMBD, будут полезны.
Убедитесь, что ключ не пуст, прежде чем звонить Put
,
Вы могли бы использовать mdb_dump
и распечатать содержимое базы данных.
Других решений пока нет …