JavaDB
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;
}
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
Curtidas 0
Respostas
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,
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