O detalhe dessa estratégia é utilizar a protocolo res para criar a conexão com HSQLDB. Com ele os arquivos do banco de dados são carregados como recursos da aplicação da mesma forma que classes Java.
public static Connection openConnection() { Connection conn = null; try { Class.forName("org.hsqldb.jdbcDriver"); String bd = "meuDB"; //url da conexao String url = "jdbc:hsqldb:file:/"+db; String user = "sa"; String password = ""; conn = DriverManager.getConnection(url, user, password); return conn; } catch (ClassNotFoundException e) { String errorMsg = "Driver nao encontrado"; throw new RuntimeException(errorMsg, e); } catch (SQLException e) { String errorMsg = "Erro ao obter a conexao"; throw new RuntimeException(errorMsg, e); } }
Os arquivos para o meuDB, devem ser armazenados no diretório META-INF do jar (pelo menos meuDB.log, meuDB.properties, meuDB.script).
Uma caracteristica muito importante desse protocolo, é que a conexão será criada como somente leitura (read-only). As manipulações (insert/update/delete) ocorrem somente em memória.
Outra referencia é o tópico sobre protocolos de conexão na documentação do HSQLDB.
@edermag
No comments:
Post a Comment