Firebird por jdbc-odbc -> "unavailable database&quot

2 respostas
D

Escrevi uma classe que adiciona mensagens a um banco de dados Firebird por meio da ponte jdbc-odbc. Esta classe não funciona em um scriptlet de maneira alguma! Apenas em aplicações…

Achei que era algo com permissões, e coloquei como DNS de sistema (o Tomcat roda como serviço), mas o banco de dados está em um disco com sistema de arquivos FAT32. Estou rodando a versão mais recente e estável do Firebird e do Tomcat em uma estação Windows XP SP2.
Gostaria de não cair em drivers JDBC por enquanto, estou aprendendo JSP e Servelts ainda… Se alguém já passou por algo deste tipo, por favor peço ajuda.

2 Respostas

A

Cara,

te aconcelho a criar uma conexão na propria jsp, dentro do scriptles, é errado, mas serve!
Vc deve abrir as tegs <% %> E dentro dela vc cria um objeto do tipo connection e cria a conexão com o banco.
Se vc ja tiver uma classe que faz isso pra vc, declare o beam na jsp e instancie!
Ai se der erro, mada o erro aê!!!

D

O que ocorreu é o seguinte:

Eu tenho uma classe que sabe adicionar mensagens ao banco de dados.
Esta classe é responsável por estabelecer uma conexão com o banco de dados e executar os procedimentos SQL para inclusão, edição e remoção das mensagens.

Utilizei o método de uma única instância (construtor privado e uma função estática para pegar a referência ao objeto).

O scriptlet fica mais ou menos assim:

&lt;%
  Message msg = new Message&#40;&#41;;
  MainClass mc = MainClass.getInstance&#40;&#41;; // obtém/cria instância

  // atribui valores da mensagem //
  ...
  //

  mc.add&#40;msg&#41;;
%&gt;

O erro mostrado pelo container é o de que foi feita uma referência à um ponteiro nulo (ocorreu o erro ao se chamar o construtor da classe MainClass). A classe MainClass tenta estabelecer uma conexão ao banco de dados no seu construtor, aí onde falha (unavailable database).

O que me incomoda é que eu consigo utilizar este mesmo trecho de código utilizado no scriptlet em uma aplicação.

Estou tentando fazer algo como aplicações em camadas, utilizar scriptlets de forma abstrata (ou mesmo não usa-los, conforme aprendo tags personalisadas).

Até mais cara, espero ter deixado o plano limpo para que você (ou qualquer outro usuário do forum) possa me ajudar.

Valeu!

Criado 17 de abril de 2005
Ultima resposta 18 de abr. de 2005
Respostas 2
Participantes 2