Gente, sou iniciante no java e tenho uma pequena dúvida que pode parecer idiota para vocês:
Estou tentando conectar com um banco de dados FireBird. Já baixei o driver e me falaram que era para eu especificar os arquivos .JAR no CLASSPATH, mas eu fiz isso e não funcionou, não consigo conectar com o banco!
Alguém sabe o que fazer?
Qual erro está dando?
ele diz que há um erro ao localizar o arquivo no caminho especificado. Acho que está se referindo ao driver JDBC. Veja o meu código fonte:
public ConectaBanco(){
try{
//O ERRO ESTÁ NESTE TRECHO
Class.forName("org.firebirdsql.jdbc.FBDriver");
Connection conn = DriverManager.getConnection ( "jdbc:firebirdsql:localhost/3050:D:\Java\FactorPRO\Dados.gdb", "SYSDBA", "masterkey");
}
catch (ClassNotFoundException cnfex){
System.err.println( "Falha ao carregar o JDBC…");
cnfex.printStackTrace();
System.exit(1);
}
catch (SQLException sqlex) {
System.err.println("Impossivel conectar!");
sqlex.printStackTrace();
}
getTable();
setSize(450,150);
show();
}
Gyowanny, quando vc indica a URL do banco vc deve fazer o seguinte:
Connection conn = DriverManager.getConnection ( "jdbc:firebirdsql:localhost/3050:Dados", "SYSDBA", "masterkey");
Ou seja, vc coloca o nome que o banco tem no FireBird, e não o nome do arquivo que representa banco. Tente para ver no que dá.
valeuz…
jack,
(Posso estar sendo ignorante)
mas como o driver vai localizar o banco de dados? o arquivo deve estar no mesmo diretorio da aplicação?
O banco de dados é um programa rodando em seu computador, que deixa uma porta aberta para ser acessado. No seu caso, parece que essa porta é a 3050 pelo o que você colocou na sua URL.
Sendo assim, o seu driver não precisa "saber" onde está o banco, ele simplesmente manda um pedido na porta 3050, e "por acaso" o banco está lá para responder.
o problema é que fiz o teste e não deu certo. Nas aplicações que desenvolvo em delphi é obrigatório informar o local onde o banco se encontra, pois o serviço de gerenciamento do banco (ibServer) utiliza uma dll chamada gds_32 apenas para comunicar com o arquivo de BD, ou seja, posso ter vários arquivos de BD na minha máquina e utilizá-los ao mesmo tempo.
Encontrei o mesmo problema no CLASSPATH.
Utilizo o JCreator, nele existe um local para adcionar outros pacotes jar. Neste local adcionei o pacote firibirdsql.jar e o mini-j2ee.jar. Feito isto a conexão com o driver FBDriver e localização do banco de dados ocorreu normalmente. Se você souber uma maneira de carregar ewstes pacotes na aplicação por favor me envie.
Valeu cara !!!