Pergunta

Eu tenho problemas para abrir um db Berkeley em python usando bdtables. Como bdtables é usada pela biblioteca que estou usando para acessar o banco de dados, eu preciso dele para trabalho.

O problema parece ser que o ambiente db Estou tentando abrir (eu tenho uma cópia do banco de dados para aberto), é a versão 4.4, enquanto libdb é a versão 4.6. Eu recebo o seguinte erro usando bsddb.dbtables.bsdTableDB ([dbname], [pasta]):

(-30972, "DB_VERSION_MISMATCH: Database environment version mismatch -- Program version 4.6 doesn't match environment version 4.4")

No entanto, bsddb.btopen ([dbname]) funciona.

Eu também tentei instalar db4.4-util, db4.5-util e db4.6-util. Tentando usar resultados db4.6_verify em:

db4.6_verify: Program version 4.6 doesn't match environment version 4.4
db4.6_verify: DB_ENV->open: DB_VERSION_MISMATCH: Database environment version mismatchs

resultados db4.4_verify no computador apenas pendurado, e nada acontecer.

Finalmente, se eu executar db4.4_recover no banco de dados, que as obras. No entanto, depois eu recebo o seguinte erro 'Não existe tal arquivo ou diretório' em python.

Foi útil?

Solução

Eu acho que respostas devem ir na seção "resposta" ao invés de como um adendo à pergunta, uma vez que as marcas a questão de ter uma resposta sobre as várias páginas de lista de pergunta. Eu vou fazer isso para você, mas, se você também dar a volta a fazê-lo, deixe um comentário sobre a minha resposta para que eu possa excluí-lo.

Citando "resposta em questão":

Verificar tudo nesta questão, eu finalmente resolveu o problema. O 'Nenhum arquivo ou diretório' são causados ??por alguns arquivos __db.XXX desaparecidas. Usando

bsddb.dbtables.bsdTableDB([dbname],[folder], create=1)

depois db4.4_recover, esses arquivos foi criado e tudo está trabalhando agora.

Ainda assim, foi um pouco de um problema obscuro, e inicialmente difícil de descobrir. Mas, graças à pergunta Examinando arquivos Berkeley DB do CLI, I tem as ferramentas que eu precisava. Eu só vou postar aqui, se alguém acaba com o mesmo problema no futuro e acabar em stackoverflow.com

Outras dicas

Droga, verificando tudo nesta pergunta que eu finalmente resolveu o problema. O 'Nenhum arquivo ou diretório' são causados ??por alguns arquivos __db.XXX desaparecidas. Usando bsddb.dbtables.bsdTableDB ([dbname], [pasta], criar = 1) após db4.4_recover, esses arquivos foi criado e tudo está trabalhando agora.

Ainda assim, foi um pouco de um problema obscuro, e inicialmente difícil de descobrir. Mas, graças à pergunta Examinando arquivos Berkeley DB da CLI eu tenho as ferramentas que eu precisava. Eu só vou postar aqui, se alguém acaba com o mesmo problema no futuro e acabar em stackoverflow.com

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top