Recuperação de arquivos do LibreOffice

Sabe quando seu arquivo do LibreOffice simplesmente para de funcionar com todos os dados lá dentro? Tem como resolver...

[ Hits: 47.265 ]

Por: Bruno Rafael Santos em 17/03/2016 | Blog: https://cutt.ly/4H7vrPh


Bancos de Dados



Embora sejam considerados os mais complexos de trabalhar, são os que possuem a estrutura mais simples internamente. Essencialmente um arquivo de banco de dados do Base possui os seguintes itens:
  • database: diretório contendo as tabelas do banco de dados. Se corrompido, causa perda de dados.
  • META-INF: contém alguns dados sobre o arquivo. Não é crítico, mas é necessário para um arquivo viável.
  • content.xml: contém dados importantes sobre como acessar o database e as queries do arquivo. Se corrompido, torna os dados em database inacessíveis...
  • mimetype: contém dados sobre o arquivo, mas pode ser apagado e é recriado a todo momento.
  • settings.xlm: configurações específicas do arquivo, não faz a mínima falta se apagado.

Então, se seu arquivo abre, mas suas tabelas de dados sumiram aparentemente. Pode ser que algo tenha acontecido com seu diretório database. Por outro lado, se você ainda tem o database mas está sem acesso às tabelas enquanto o resto do arquivo funciona, pode ser problema no content.xml. O content.xml guarda os queries, então uma corrupção nele significa o fim dos mesmos. Entretanto, é possível importar o content.xml de qualquer outro arquivo do Base para tentar recuperar seus dados. Note que o content.xml também guarda dados como tipo de banco de dados e tipo de acesso.

Por exemplo, a versão atual do Base suporta apenas bancos da dados HSQLDB Embedded para novos bancos e vários outros tipos para os já existentes como MySQL, Text, Planilhas etc. Você precisará criar um banco de dados com as mesmas configurações do que precisa ser recuperado para gerar um content.xml compatível. O banco de dados novo que será o doador precisa ter uma ou outra tabela para permitir a conexão com o database anterior.

Fiz alguns experimentos com isso, considere os dois arquivos abaixo:
  • new.odb: um banco de dados com duas tabelas relacionais (nomes e cakes) que relaciona meninas com seus bolos favoritos e um query que lista as que preferem bolo de banana.
  • void.odb: um banco de dados novo com uma tabela (tabela 1) sem dados.

Eu consegui "transplantar" o banco de dados em new.odb para void.odb apenas mudando os seguintes arquivos e diretórios: database e META-INF. O query se perdeu porque deixei o content.xml no arquivo new.odb. E o contrário também funciona! Mova o content.xml de void.odb para new.odb e este último continuará a funcionar, mas sem os queries.

Em resumo:
  • Os arquivos críticos para o funcionamento de um ODB são: content.xml, META-INF e databases.
  • O content.xml pode ser transplantado de outros arquivos ODB com relativa facilidade, se forem do mesmo tipo de acesso.
  • databases contém os dados em si, bem como as relações.
  • O LibreOffice fica bastante instável quando lida com esses arquivos mal montados. Então exporte os dados assim que puder.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Bancos de Dados
   3. Arquivos de texto
   4. Desenhos, Apresentações e Planilhas
Outros artigos deste autor

Assinatura de documentos PDF em lote via Bash

Defesa pessoal com o GPG, Nautilus Scripts, partições encriptadas e leves doses de paranoia

Tutorial GIMP: Preparando mapas para artigos científicos

Cronogramas e gestão do tempo com o LibreOffice Calc

GNU Parallel: criando atividades em paralelo com shell script

Leitura recomendada

O jeito fácil e o jeito difícil de inserir paginação no Open/LibreOffice

Os Mistérios da Fonte Wingdings do Windows

LibreOffice em nuvem - Crie seu servidor Web Office

LibreOffice / OpenOffice - Instalando modo de exibição do apresentador

LibreOffice no Slackware - Edição 2017

  
Comentários
[1] Comentário enviado por JOPAGO em 17/03/2016 - 20:57h

PArabens, muito bom o artigo. Favoritado.

[2] Comentário enviado por henriquejne em 22/03/2016 - 21:45h

Boa iniciativa já compartilhei no Face, muita gente vai gostar....

[3] Comentário enviado por hrcerq em 26/03/2016 - 21:12h

Excelente artigo.

Está aí mais uma demonstração de como os formatos abertos são importantes para a resiliência dos documentos.

---

Atenciosamente,
Hugo Cerqueira

[4] Comentário enviado por andre_martins em 23/10/2017 - 23:20h

Olá, obrigado pela dica. Um dúvida: para escrever um documento de texto utilizando o LibreOffice que necessite ser sempre compatível com o formato .DOC, vc sugereria utilizar o salvamento sempre no formato .DOC ou utilizar sempre o padrão de arquivo nativo do LiOff, o ODT?

Minha pergunta se relaciona mais com os possíveis bugs que possam ocorrer no LibreOffice (algumas vezes tive arquivos corrompidos).

Obrigado.
AM

[5] Comentário enviado por hrcerq em 24/10/2017 - 12:50h


[4] Comentário enviado por andre_martins em 23/10/2017 - 23:20h

Olá, obrigado pela dica. Um dúvida: para escrever um documento de texto utilizando o LibreOffice que necessite ser sempre compatível com o formato .DOC, vc sugereria utilizar o salvamento sempre no formato .DOC ou utilizar sempre o padrão de arquivo nativo do LiOff, o ODT?

Minha pergunta se relaciona mais com os possíveis bugs que possam ocorrer no LibreOffice (algumas vezes tive arquivos corrompidos).

Obrigado.
AM


Se você precisa compartilhar os documentos no formato DOC, uma opção interessante é salvar primeiramente em ODT, e somente na hora de compartilhar salvar uma cópia em DOC.

Ou seja, você abre o arquivo em ODT, edita e salva em ODT (assim você evita problemas de compatibilidade na hora de abrir o documento novamente). Em seguida, salva uma cópia em DOC e compartilha. Infelizmente o arquivo DOC é binário, e portanto ele não pode ser descompactado e seu conteúdo visualizado em editores de texto simples, como no caso do ODT.

---

Atenciosamente,
Hugo Cerqueira

[6] Comentário enviado por santosbrc em 24/10/2017 - 14:59h

O Hugo tem razão. Eu também utilizo o doc com as minhas equipes de trabalho, então salvo tudo no ODT e emito um DOC sempre que necessário. A compatibilidade com o DOCX melhorou bastante ultimamente então o tenho utilizado mais que o DOC. A dica geral é evitar estruturas automáticas como índices, referencias cruzadas e variáveis. Na hora de importar de volta o conteúdo modificado, utilize o Editar > Comparar para a tarefa. Fiz a editoração e revisão de um livro inteiro assim, é bem prático.

[7] Comentário enviado por andre_martins em 24/10/2017 - 22:30h

Olá Hugo e Rafael,

Muito obrigado pelas dicas.
Vou mudar meu approach então, tinha deixado já habilitado o LO para salvar sempre em .DOC; vou deixar no formato nativo ODT, e somente fazer a conversão para .DOC quando for necessário, com o documento o máximo pronto. Como tenho uma segunda máquina que roda OSX, eu vou fazer a conversão primeiro para DOCX e, do macbook, passar para .DOC, pois assim eu já tenho experiência que costuma funcionar.
De qualquer forma, o LibreOffice com o Mint é uma opção incrível, estou realmente muito satisfeito.
Pensei em testar o Open Office também, mas aparentemente ele está meio que abandonado... e eu particularmente não gostei do WPS.
Vou investir no aprendizado e compatiblidade de meus artigos, tese e trabalhos no LO.
Obrigado, abraços,

AM

Linux Mint.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts