Erro na conexão com o firebird

Olá, pessoal!

Fiz um programa para capturar dados de um sistema e armazená-los em um banco firebird. Quando existe uma quantidade de dados muito grande a ser salva, o erro abaixo é exibido.

O programa continua rodando, mas não insere mais registros. A cada entrada, o erro é repetido.

Será que tem salvação ou é bug do firebird?

Tu colocou todas as libs do firebird no classpath do teu projeto?

Qual a API de persistencia tu utilizastes para as transações com o banco de dados?

Se foi JDBC o q eu imagino que foi,
Verifica:

  1. Se estah carregando o driver do JDBC, para os banco de dados firebird;
  2. Registrando o DriverManager;
  3. Instanciando o objeto do tipo connection (com url-onde estah o arquivo do banco de dados firebird-, username, password).

Qualquer coisa coloca o código ai!!!

:smiley:

Bye!

Estou usando o JDBC.

O código é o seguinte:

CONEXÃO COM O BD:

try 
{
    Class.forName("org.firebirdsql.jdbc.FBDriver");
    con = DriverManager.getConnection("jdbc:firebirdsql:localhost:c:/bd/entrada.fdb", "SYSDBA", "masterkey");
stmt = con.createStatement();
}
catch(Exception eo)
{
     System.out.println(eo.getMessage());
}           

PARA INSERIR OS DADOS:

salva = "insert into texto values ('"+nagenda+"','"+noper+"','"+nome.trim()+"')";
try 
{
    stmt.executeUpdate(salva);
}
catch(Exception eo)
{
    System.out.println(eo.getMessage());
}                          

Como havia dito: ele está inserindo normalmente, só quando a quantidade de dados é muito grande é que ele dá o erro acima.

tente o seguinte

try { Class.forName("org.firebirdsql.jdbc.FBDriver"); con = DriverManager.getConnection("jdbc:firebirdsql:://localhost/nomeBaseDados", "SYSDBA", "masterkey"); stmt = con.createStatement(); } catch(Exception eo) { System.out.println(eo.getMessage()); }

Amigo,

De acordo com o que foi postado em:
http://tech.groups.yahoo.com/group/Firebird-Java/message/7616

Esse erro acontece quando a conexão se torna inválida. Acredito que haja algum problema de conexão com o banco. Uma coisa que me veio a cabeça: você está com autocommit true ou false? Tenta mudar para true se estiver false ou vice versa (não esqueça de comitar no final se estiver false).

Espero que ajude!

Abraços!

Amigo,
Voce está com problema de conexão sim … como foi falado.

Vc precisa especificar a porta de conexão local do Firebird.

Assim sua conexão ficará assim:

		try {
			Class.forName("org.firebirdsql.jdbc.FBDriver");
			con = DriverManager.getConnection(
					"jdbc:firebirdsql:localhost/3050:C:/TUTORIAL.GDB",
					"SYSDBA", "masterkey");

		} catch (Exception e) {
			e.printStackTrace();
		}

Caso vc faça a alteração e o problema persistir, dá um toque ai !!!

Falow
T+