i pode usar o arquivo bdb (Berkeley DB) criado por c implementação (bsddb python) pela Oracle Berkeley edição db java?
-
10-07-2019 - |
Pergunta
Eu tenho um arquivo Berkeley DB (* .bdb), que é criado pela implementação C (módulo bsddb python). É possível ler este arquivo por uma aplicação java pura de Berkeley DB? Tentei lê-lo usando Berkeley DB edição java (je), mas não podia. je lança uma exceção dizendo que não poderia detectar o banco de dados Berkeley. São arquivos Berkeley DB não entre operável através de diferentes implementações? Se sim, porquê?
Solução
Não.
De acordo com a Berkeley DB Java Edição FAQ , Berkeley DB e Berkeley DB Java Edition não são compatíveis uns com os outros, porque eles têm uma estrutura de layout de arquivo diferente.
Outras dicas
Note que existem três produtos diferentes
- Berkeley DB - a implementação C
- Berkeley DB Java Edição
- Berkeley DB XML
ver, Wikipedia
É verdade que o "Berkeley DB" e "Berkeley DB Java Edition" tem diferentes (ou seja incompatível) formato de arquivo. No entanto, o produto "Berkeley DB" fornece uma API Java via JNI. Por isso, é possível arquivo de dados de acesso escrito pela implementação C de Java, mas não com o "Berkeley DB Java Edition".
Eu não pesquisou a resposta definitiva, mas eu tenho a mesma experiência. Um banco de dados criado com pítons BdB, e também acessível com as utils cli, não é detectado em tudo pela API Java. O inverso também era verdade.