Conexão com banco de dados x Servlet

6 respostas
R

Olá pessoal!

Quando se trabalha com servlet, onde se configura a biblioteca de acesso a dados?

Estou tentando acessar uma base de dados Firebird e está ocorrendo seguinte erro:

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.RuntimeException: Ocorreu um erro ao conectar com o banco: java.sql.SQLException: No suitable driver found for jdbc:firebirdsql:localhost/3050:c:/database/java.fdb

Conexao.getConnection(Conexao.java:14)

ClienteDAO.(ClienteDAO.java:8)

ServletAdiciona.service(ServletAdiciona.java:23)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.12 logs.

Desde já agradeço.

6 Respostas

nel

Oi!

Simplesmente no seu classpath, assim como faria em qualquer projeto.
Sua aplicação precisa reconhecer que está setado no classpath o driver do seu respectivo banco de dados.

Você adicionou o JAR do driver do Firebird ao seu classpath?
Está usando que container Web?

Abraços.

FernandoFranzini

Sua aplicação web não encontrou o driver do banco. Então, coloque no jar do provedor dentro da sua WEB-INF/lib do projeto.

R

Fiz da forma como o FernandoFranzini comentou e deu certo.

Obrigado amigos.

Castro.

R

Pessoal,

Eu copiei a biblioteca para a pasta lib (C:\Programas\Apache-tomcat-7.0.19\wtpwebapps\agenda\WEB-INF\lib), mais não entendi que após rodar a aplicação algumas vezes a mesma some da pasta.

O procedimento correto seria esse mesmo, ou deverá ser feito pelo Eclipse.

Se deve ser feito pelo Eclipse, como devo proceder?

Obrigado.

FernandoFranzini
  • Bibliotecas da aplicação deve ser colocadas dentro da lib do projeto, uma vez que devem entrar no classpath do seu war.
  • Bibliotecas compartilhadas por varias aplicações diferentes dentro do mesmo container (tomcat) podem ser colocadas no lib do tomcat ao inves de ser duplicadas dentro do lib de cada projeto.
    Veja qual é sua situação…
R

Entendi.

No meu caso seria a segunda opção.

Obrigado Fernando.

Castro.

Criado 1 de agosto de 2011
Ultima resposta 1 de ago. de 2011
Respostas 6
Participantes 3