Erro na conexão com Firebird

12 respostas
L

Olá ,

Eu baixei o driver para firebird e o jdbc mas onde eu coloco eles?

De onde vem essa clase: class.forName(“org.firebirdsql.jdbc.FBDriver”).

Valeu!!!

12 Respostas

Romeo
[color=green] try{

Class.forName(org.firebirdsql.jdbc.FBDriver).newInstance();

}

catch (Exception e){

JOptionPane.showMessageDialog(null,“Driver não encontrado);

return false;

}[/color]

Bom, tem q ser antes de vc abrir uma conexão com ele, poderia até ser a primeira coisa q a Main faz se vc preferir…

L

Olá romeo,

Eu pequei um exemplo de conexão mas não funcionou, se puder me falar como instalar passo a passo os driver firebird e jdbc eu agradeço.

Segue a rotina que eu pequei.

public class FazerConect {

public static void main(String[] args) {
	 
	 Conect conexao = new Conect ();
	   
	   }

}

////////////////////////////////////////////////

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.Statement;

public class Conect {

public Connection con = null;
public Statement stm = null;

public Conect () {

try {   

     Class.forName("org.firebirdsql.jdbc.FBDriver");   
     con =   
        DriverManager.getConnection(   
           "jdbc:firebirdsql://localhost/C:/Arquivos de programas/Firebird/Firebird_1_5/examples/EMPLOYEE.FDB",   
           "sysdba",   
           "masterkey");   
     stm = con.createStatement();   

  } catch (Exception e) {   
     System.out.println("Não foi possível conectar ao banco: " + e.getMessage());   
  }

}

}

Valeu!!!

fabim

Va até a seção de artigos e tutoriais do guj e procure por “JDBC e Banco de Dados”… nao pegue nada pronto, tente entender primeiro como funciona a comunicação entre java e seu sgbd.

L

Se vc entendeu de ssa forma, venho te informar que de maneira alguma tive ou tenho a intenção de pegar alguma coisa pronta. Eu sou novo em java e estou a três dias tentando fazer a conexão com o firebird, por isso estou pedidindo ajuda de quem quiser ou puder me ajudar!!!

Abraço !!!

Romeo

Olhando no seu código vc não instanciou o Driver, vc fez isso na main???

um exemplo pra se conectar…

Connection conexao = DriverManager.getConnection("jdbc:firebirdsql://localhost:3306/nomeDoBanco","user","senha); PreparedStatement sql = conexao.prepareStatement("select * from x"); Resultset res = sql.executeQuery();

L

Agora esta dando o seguinte erro.

Firebird JCA-JDBC driver not found in class path
org.firebirdsql.jdbc.FBDriver
Closing database resources and rolling back any changes we made to the database.

Obs: O erro esta nesta linha

String driverName = “org.firebirdsql.jdbc.FBDriver”;

Abraço!!!

Romeo

Ta bom, agora o problema é colocar o driver no classpatch, vamos aos seguintes passos…

1 - Tem q ter o .jar do driver, procura q vc acha…
2 - Coloca no seu workspace na pasta do seu projeto ou na pasta ext do java
3 - Se vc usa alguma IDE entra na tela de configuração do patch do seu projeto e adiciona o .jar
4 - Agora deve funcionar

Caso não de certo me fala qual o seu jar e qual sua IDE…

L

Já coloquei o .jar na workspace, mas desculpe minha ignorância, estou usando o eclipse e como faço para adcionar o .jar ao meu projeto.

Obs: na variável de sistema o CLASSPATH esta somento com ponto (.) devo colocar mas alguma coisa?

Valeu!!!

Romeo

Blz, vamos para o passo a passo…

1 - No Package Explorer(Aba na esquerda q possui seus projetos) clique com o botão direito no seu projeto.
2 - La procure Buid Patch e depois Configure Buid Patch
3 - Vai abrir na aba Libraries, é lá mesmo
4 - Existem dois botões na direita, Add Jars e And External Jars
5 - O primeiro vai abrir um explorer dos seus projetos, procure seu Jar nele e o adicione.
6 - Caso não de certo o segundo procura por todo o Computador, um dos dois dara certo…
7 - depois é só OK que ta pronto

L

Agora deu o seguinte Erro!!!

Activation.main: warning: sun.rmi.activation.execPolicy system
property unspecified and no ExecPermissions/ExecOptionPermissions
granted; subsequent activation attempts may fail due to unsuccessful
ExecPermission/ExecOptionPermission permission checks. For
documentation on how to configure rmid security, refer to:

http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html
http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html

Activation.main: an exception occurred: Port already in use: 1098; nested exception is:

java.net.BindException: Address already in use: JVM_Bind

java.rmi.server.ExportException: Port already in use: 1098; nested exception is:

java.net.BindException: Address already in use: JVM_Bind

at sun.rmi.transport.tcp.TCPTransport.listen(Unknown Source)

at sun.rmi.transport.tcp.TCPTransport.exportObject(Unknown Source)

at sun.rmi.transport.tcp.TCPEndpoint.exportObject(Unknown Source)

at sun.rmi.transport.LiveRef.exportObject(Unknown Source)

at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source)

at sun.rmi.registry.RegistryImpl.setup(Unknown Source)

at sun.rmi.registry.RegistryImpl.(Unknown Source)

at java.rmi.registry.LocateRegistry.createRegistry(Unknown Source)

at sun.rmi.server.Activation.main(Unknown Source)

Caused by: java.net.BindException: Address already in use: JVM_Bind

at java.net.PlainSocketImpl.socketBind(Native Method)

at java.net.PlainSocketImpl.bind(Unknown Source)

at java.net.ServerSocket.bind(Unknown Source)

at java.net.ServerSocket.(Unknown Source)

at java.net.ServerSocket.(Unknown Source)

at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(Unknown Source)

at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(Unknown Source)

at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source)

 9 more</blockquote>

Ta brabo pro meu lado! rs

L

Estou usando essa class.

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.Statement;

public class Conexao {

public Connection con = null;
public Statement stm = null;

public Conexao() {   
	  
	      try {   
	  
	         Class.forName("org.firebirdsql.jdbc.FBDriver");   
	         con =   
	            DriverManager.getConnection(   
	               "jdbc:firebirdsql:localhost/3050:C:/Arquivos de programas/Firebird/Firebird_1_5/examples/EMPLOYEE.FDB",   
	               "sysdba",   
	               "masterkey");   
	         stm = con.createStatement();   
	  
	      } catch (Exception e) {   
	         System.out.println("Não foi possível conectar ao banco: " + e.getMessage());   
	      }   
	  
	   }   
	         
	}
Romeo

Olha, o problema é q a sua porta 1098 ja esta em uso, vi que vc configurou para a porta 3050, antes vc precisa ter certeza em qual porta o firebird está apto a receber conexões.

Nas configurações dele deve ter esta informação. Mas é dificil achar se vc não sabe onde procurar.

Se vc usa algum programa para visualizar os bancos e executar as querys vc pode ver nas suas configurações de conexão como ele faz para se conectar…

Criado 20 de março de 2007
Ultima resposta 22 de mar. de 2007
Respostas 12
Participantes 3