Saudações,
Não sou leigo em Java, mas nunca dei aplicação prática ao Java no meu dia a dia de trabalho a ponto de conseguir, por exemplo, me livrar do Microsoft Access. Com o Access, tenho conseguido solucionar diversos problemas, mas gostaria de abandonar este tipo de tecnologia.
Com o objetivo de continuar desenvolvendo aplicações de escritório para armazenamento e processamento de dados talvez eu deva utilizar o Netbeans e conseguir embarcar alguma solução de motor de banco de dados, pois não tenho um servidor, então a aplicação deve levar o DB consigo.
Venho por este tópico buscar orientações nesta jornada e desde já, agradeço.
Sqlite.
O Java DB não é recomendável?
HSQLDB
Tem tutoriais explicando a forma de usar na internet/youtube.
Java DB é limitado ao Java, se for feito em Java pior ainda, não confiaria já que o código não é compilado nativamente e tudo pode ser manipulado fora do que a fornecedora garante. Sua própria aplicação Java desktop se conectar direto em qualquer banco já é um risco.
Mas é uma opção, se teu cliente tiver ciente desse risco e não se importar em seus dados ficarem reféns do Java.
O MS Access não é uma aplicação robusta e todas as soluções dele são fechadas e stand alone. Eu só busco um bom substituto.
Se o requisito é base embarcada, não serve o Sqlite? Robustez só encontrará em SGDBs.
Serve sim, vou dar uma olhada nele. Espero que seja simples de trabalhar com ele.
Ainda estou aberto para mais sugestões.
Gostei do SQLite, parece promissor. Não depende de server, isso já muito bom. Mas como fica se eu iniciar o desenvolvimento num linux e levar o projeto para compilar para um ambiente Windows? Parece que tenho que baixar para a plataforma.
É nativo para cada SO, Windows, Android, Linux, Mac, use a lib de acordo com o SO em execução. Mas se seu cliente só usa um SO não tem sentido se preocupar com isso.
Eu vou desenvolver em um ambiente (Linux), e compilar para diferentes ambientes (Windows). Vou criar tabelas, references e por aí vai, popular alguns registros. Minha expectativa é levar toda a solução de DESE para o Windows, por exemplo e compilar novamente para gerar um JAR para cada SO.
Embora eu possa guardar os scripts e rodar para o segunda versão do BD SQLite. Rodar um script para criar tudo dentro do banco quando for compilar no outro ambiente. Essa seria a abordagem adequada?
Os scripts SQL são independentes de sistema operacional.
O adequado é usar o mesmo sistema operacional do seu cliente. Se eles só usam Windows, é complicação desnecessária você usar Linux. Mas se eles usam mais de um, faz os testes em VMs com outros SOs, usando a lib específica do SO.
Pessoal, ainda espero ter o compartilhamento de experiências neste sentido. Fizeram? Usaram qual banco? Firebird?
Firebird é sinônimo de dados corrompidos.
Cheguei a uma definição. Vou começar a desenvolver sem o Access e adotar no primeiro projeto o SQLite e no segundo, o HSQLDB. Obrigado pela ajuda a todos.