Estou precisando de uma ajuda sua com um problema que estou enfrentando com o banco de dados Derby.
Acontece que estou desenvolvendo uma aplicação que gerencia bancos de dados Derby e tem a função de remover bancos de dados, mas acontece que o DriverManager trava o arquivo de base de dados de modo que durante a execução do programa, eu não posso remover ou renomear o arquivo de base de dados.
Analise o cenário do que acontece:
Considerando que eu tenha duas bases de dados derby ‘base_a’ e ‘base_b’ e vou testar a conexão com estas duas.
public class ArquivoBloqueado{
public ArquivoBloqueado(){
try{
// me conectei à base de dados
Connection conn = DriverManager.getConnection("jdbc:derby://localhost/base_a");
// NÃO ESTOU MAIS CONECTADO À 'BASE_A' E SIM À 'BASE_B'
// descartei aquela conexão e me conectei à outra base
conn = DriverManager.getConnection("jdbc:derby://localhost/base_b");
/*
aqui faço alguma coisa para continuar a execução do programa
*/
}catch(SQLException e){
}
}
}
Após estas duas conexões, enquanto a aplicação está sendo executada, se eu tentar excluir, tanto pelo windows quanto pelo java,
a base ‘base_a’, a aplicação não deixa porque está bloqueando o arquivo, mas não estou mais conectado à base ‘base_a’.
Como eu resolvo este problema, alguém pode me ajudar?
Obrigado!