Passar Base de Dados a ficheiro - Java - Portugal-a-Programar
Passar Base de Dados a ficheiro
By KiNgPiTo, December 17, 2008 in Java
Não sei se talvez aqui seja o mais indicado para postar isto mas como a linguagem que estou a utilizar é java, cá vai:
Construí uma aplicação que controla uma base de dados em mysql no IDE Netbeans e a base de dados que estou a utilizar está no localhost... O que eu gostaria de saber, era como fazer para quando criar o ficheiro .jar para abrir sem o netbeans, consegui-se aceder á base de dados sem ter de ter o mysql instalado... era so ter a base de dados na pasta do .jar e acedia lá sem ter o mysql instalado...
Existe maneira de fazer isto?
Se estás a usar um motor de base de dados, então esse motor tem de estar instalado no computador que vai usar a aplicação, não há volta a dar, não é viável tentares ler os dados directamente do disco sem passares pelo motor.
O MySQL poderá não ser o melhor motor para a situação que queres, mas é possível ter o MySQL sem "instalar", isto é, podes colocar todos os ficheiros do MySQL, não convém usares os da pasta de instalação que podem ter algumas opções especificas, mas podes obter o MySQL como um zip e usar essa versão, ou alguma das versões que vêm com os típicos pacotes xamp ou lamp ou similares. Crias assim um motor embebido na aplicação e que vais ter de iniciar sempre que a aplicação iniciar, desligar quando ela desliga, enfim, terás de controlar o MySQL todo através da tua aplicação.
Desta forma tens o MySQL e o utilizador nem dá por isso.
Não considero a melhor opção porque existem motores que foram criados especialmente para esse efeito, o de serem incluídos numa aplicação, então para Java, dá imenso jeito conseguires comunicar com o motor directamente com código, por exemplo para iniciares o servidor, um motor que uso bastante é o HSQLDB, é feito em Java e permite uma fácil integração com aplicação, especialmente com aplicações Java.
Além deste existe o motor "do Java", o motor derby que é incluído com o JDK, e que pode ser facilmente embebido em aplicação, muito à semelhança do HSQLDB.
Não estou a dizer para mudares de motor, mas existem alternativas se pensares em mudar, neste caso não será muito complicado mudar para outro motor de bases de dados, vai depender de como tens o código feito.
Voltando ao MySQL, não faço a mínima ideia de como incluíres o motor na tua aplicação e de como configurares ou controlares o sistema.