Olá galera.
Gostaria de compartilhar com vocês como resolvi esse pequeno detalhe descrito no título.
Recentemente precisei abrir e alterar alguns campos de uma tabela de um arquivo de dados do Access, aqui referido como "meu_arquivo.mdb", no meu querido
Linux. Para visualizar, eu utilizo o MDBviewer que funciona e não dá problema, mas desta vez precisei editar.
E então? Comprar o MS Office só para este detalhe? Não seria viável. Usar pirata? Também não tive interesse.
A solução
Existe um projeto que fornece uma classe Java que pode ser utilizada no
LibreOffice. Não vou cobrir aqui como instalar o LibreOffice, vou só comentar que o meu ambiente aqui é o Debian com LibreOffice instalado via
apt, versão 6.1.3.2 e o Java versão 1.7, instalado da mesma maneira.
Para facilitar, vamos supor que eu coloque tudo que eu preciso na pasta
/home/tiekookeit/ucanaccess/, certo? Então, a primeira coisa a fazer é baixar o arquivo "Ucanaccess-bin.zip" no site abaixo:
No meu caso, o arquivo atual que tem o nome baseado na versão, é o "UCanAccess-4.0.4-bin.zip", e este arquivo foi parar na nossa pasta que eu comentei que seria a pasta onde colocaria tudo que precisamos, depois eu fui lá e descompactei esse "UCanAccess-4.0.4-bin.zip".
Mostra a seguinte estrutura de arquivos se dermos um ls dentro da pasta
/home/tiekookeit/ucanaccess/:
ls -1 /home/tiekookeit/ucanaccess/
UCanAccess-4.0.4-bin
E se dermos um ls em
/home/tiekookeit/ucanaccess/UCanAccess-4.0.4-bin:
ls -1 /home/tiekookeit/ucanaccess/UCanAccess-4.0.4-bin
console.bat
console.sh
copyright.txt
lib
licenses
loader
ucanaccess-4.0.4.jar
version.txt
Ótimo! Já temos tudo que precisaremos. Agora vamos abrir o "soffice.bin", ou qualquer um dos programas do pacote do LibreOffice.
Dentro deste, iremos no menu em: Ferramentas > Opções > LibreOffice > Avançado
Nesta janela, que é a janela que gerencia o Java, você vai marcar "Utilizar um JRE (Java Runtime Environment)". Depois clique em "caminho da classe" > "Adicionar arquivos" e aponte para o arquivo "ucanload.jar", que aqui no meu caso está em
/home/tiekookeit/ucanaccess/UCanAccess-4.0.4-bin/loader/ucanload.jar e clique em "Ok".
Ainda nesta janela ,clique em "Parâmetros" e adicione o parâmetro de acordo com o caminho da pasta ai no seu pc, é claro:
DUCANACCESS_HOME=/home/tiekookeit/ucanaccess/UCanAccess-4.0.4-bin/UCanAccess-4.0.4-bin
...que é justamente o parâmetro que indica o "home", que é onde está o que é necessário para a classe principal.
Feito isso, vamos abrir o Base do LibreOffice, de cara ele vai perguntar o que você quer fazer da vida. Você vai selecionar "Conectar a banco de dados existente" e selecionar o tipo "JDBC" e clicar em "Próximo".
Na próxima tela, em "URL da origem de dados ", embaixo na frente de "jdbc:" você vai repetir "jdbc://" e colocar o caminho do arquivo de banco de dados que você quer abrir, no meu caso:
jdbc://home/tiekookeit/ucanaccess/meu_arquivo.mdb
Embaixo, em "Classe do driver JDBC:" você vai colocar como mostrado abaixo, porém, atente porque é sensível a maiúscula e minúscula:
net.ucanaccess.jdbc.UcanloadDriver
Depois, clique em "Testar Classe", deve aparecer uma mensagem de sucesso, se não aparecer, já deu errado. Revise todos os passos, que algum foi feito incorreto ou pode haver alguma incompatibilidade com a versão do Java ou do LibreOffice, mas com sorte vai dar certo, ai é só clicar em próximo e concluir.
Boa sorte!
Nenhum comentário foi encontrado.