如何将berkeleydb文件转换为CSV/JSON



我有一些文件(__db.001,…(,

我想把这个数据库转换成JSON/CSV。。。

BerkeleyDb支持这样的功能吗?或者有什么工具吗?

我知道这是一个名为db_dump的工具,但我不认为它可以将数据库文件转换为Json或CSV。。。

Berkeley DB的数据记录以使用它的特定应用程序定义的二进制格式存储。没有办法像使用传统SQL数据库那样通用地转储记录。

如果您知道应用程序如何格式化密钥和数据,则可以使用db_dump实用程序生成数据库的十六进制转储。然后,您可以解析它,并将记录分解为可以放入JSON中的内容。

例如,您可能有一个应用程序,它将购物车的内容存储在每个记录中:牛奶、鸡蛋和面包。在JSON中,它会分解为类似{ "milk": 5, "eggs": 24, "bread": 1 }的内容。

但在BDB中,它可能类似于以下C结构:

struct {
uint32_t milk;
uint32_t eggs;
uint32_t bread;
} record;

每条记录的长度为12字节。前四种是牛奶,可能是小端序形式。接下来的四个是鸡蛋。等等。当你在上面使用db_dump时,它只会输出12个十六进制字节。你有责任解析这些字节的含义。