Diretórios, pastas, path's

2 respostas
N

Eu resolvi criar uma agenda telefônica usando JAVA + HSQLDB.
Como só existe uma tabela, o tipo de banco criado no HSQLDB é do tipo in-process ou seja, vai rodar junto com minha aplicação Java.

O problema é que não consigo configurar os path’s corretamente.

Vejam: No NetBeans, na configuração Connecting Using, onde devo setar o caminho do banco de dados para o drive HSQLDB eu coloco:

C:\Documents and Settings\USER\AgendaTelefonica\dist\database\agenda

dist é a pasta criada pelo NetBeans, database a pasta onde estão os arquivos do banco de dados, e agenda é o nome do arquivo do banco de dados.

E dentro do programa Java o caminho que coloco é esse:

private String urlBanco = “jdbc:hsqldb:./dist/database/agenda”;

Essa configuração do path está correta?
Ajudem por favor, preciso terminar esse projeto.

Se o produto final ficar decente, eu gostaria de disponibilizar aqui no Portal Java todo o código-fonte.

Obrigado!

2 Respostas

F

Olá! Não tenho certeza se é a melhor abordagem, mas eu criei a classe abaixo pra trabalhar com sistemas desktop que utilizam banco de dados embarcado.

/*
 * FabricaDAOHSQLDB.java
 *
 * Created on 26 de Novembro de 2006, 17:16
 *
 */

package pousada.persistencia;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import pousada.negocio.Hospede;

/**
 *
 * @author Frederico
 */
public class FabricaDAOHSQLDB extends FabricaDAO {
    
    public static Connection conexao;
    private static final String DRIVER = "org.hsqldb.jdbcDriver";
    private static final String URL = "jdbc:hsqldb:file:" +
            System.getProperty("user.dir").replace('\\','/').concat("/banco/pousada") +
            ";shutdown=true";
    private static final String USUARIO = "sa";
    private static final String SENHA = "";
    
    public static Connection obtemConexao() throws SQLException, ClassNotFoundException {        
        if(conexao == null) {
            Class.forName(DRIVER);
            conexao = DriverManager.getConnection(URL, USUARIO, SENHA);
        }
        return conexao;
    }
    
    public static void encerraConexao() throws SQLException {
        if(conexao != null) {
            Statement st = conexao.createStatement();
            st.execute("SHUTDOWN");
            conexao.close();
            conexao = null;
        }
    }    
}

O método obtemConexao é chamado sempre que se precisa de uma conexão, porém a conexão só é criada uma única vez. O método encerraConexao só é chamado através do método dispose quando a tela principal do sistema for fechada.

N

Eu acho que consegui resolver o problema dos diretórios. Falta resolver agora o problema do delete…

Criado 15 de janeiro de 2007
Ultima resposta 15 de jan. de 2007
Respostas 2
Participantes 2