JavaDB

Java

17/05/2011

Boa tarde,

Gostaria de tirar umas duvidas.

Estou testando o JAVADB é fiquei com umas duvidas se possivel alguem poderia me dar uma ajudinha.

Estou usando o netbeans. Criei o banco na opção de serviços.
Criei uma classe com um metodo para conectar ao banco.

Fiz uns testes no netbeans com os serviços de banco inicializado e a conxão funcionou perfeitamente.

Fiz um arquivo .jar é executei com os serviços do javaDB paralisados no netbeans, o jar respondeu o que eu já esperava  não foi possivel fazer a conexão ao banco.

Minhas duvidas:

Apos eu concluir o projeto desktop como eu faço para usar o banco?
Tem algun comando que ativo o serviço?



public boolean conecta()
    {
        boolean result=true;
        try {
            Class.forName(driver);
            conexao = DriverManager.getConnection(url,usuario,senha);
            JOptionPane.showMessageDialog(null,"Database connected");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            result = false;
        }catch(SQLException Fonte)
            {
               JOptionPane.showMessageDialog(null, "Deu erro na conexão "+
                    "com a fonte de dados "+Fonte);
            }

        return result;
    }

David Alberto

David Alberto

Curtidas 0

Respostas

Anthony Accioly

Anthony Accioly

17/05/2011

O JavaDB (variante do Apache Derby) pode ser utilizado de duas maneiras.
   Cliente / Server -> Nesse caso você precisa startar o server via console. Além disso, há todo um overhead de rede.       Procure pelo executável startNetworkServer na pasta bin do banco ou veja como usar o derbyrun.jar: http://db.apache.org/derby/papers/DerbyTut/ns_intro.html#start_ns      http://fabisoartori.wikidot.com/javadb-derby
  Embedded -> Nesse caso o banco starta junto com a aplicação / no mesmo processo da JVM.
      A limitação desse modo é que fica impossível acessar o banco concorrentemente em outras aplicações       (por exemplo, através da ferramenta de SQL do Netbeans). Eis um tutorial sobre como usar o driver embbeded       com o Netbeans:       http://blogs.oracle.com/JavaFundamentals/entry/a_personal_data_storage_application
Uma terceira opção que combina o melhor de ambos os mundos é fazer sua aplicação inicializar o Server (via uma propriedade no derby.properties / argumentos durante a inicialização ou código), porém usar o driver embedded internamente:       http://db.apache.org/derby/docs/10.8/adminguide/tadminconfig814963.html
Essa terceira opção pode ser útil para uma aplicação final, mas em tempo de  desenvolvimento significa startar o database toda vez que você alterar alguma coisa na sua aplicação e for testar.
Por padrão eu desenvolvo minha aplicação usando o modo Cliente / Server e faço o deploy de aplicações Desktop / standalone com o driver embedded (startando a database através da aplicação se fizer sentido expor o banco de dados para outros processos).
Abraços,
GOSTEI 0
POSTAR