Tomcat e o mistério na conexão com MSAccess

Estou passando por um problema chatíssimo.
Desenvolvi uma classe java para conexão com bancos de dados.

Ela funciona perfeitamente quando não a uso no tomcat 5.0, o que não ocorre quando trabalho no tomgato.
Eis ela:

[quote]
[color=“blue”]//Database.java

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

public class Database {
private Connection connection;
private Statement statement;
private PreparedStatement preparedStatement;
private ResultSet resultset;
private ResultSetMetaData rsmd;
private String driver, url, username, password;

public Database(String driver, String url, String username, String password){
  this.driver = driver;
  this.url = url;
  this.username = username;
  this.password = password;
}

[b]

public void connect(){
try{
Class.forName(driver).newInstance();
connection = DriverManager.getConnection(url, username, password);
statement = connection.createStatement();
}
catch(InstantiationException ie){
System.out.println(iae.getMessage());
}
catch(ClassNotFoundException cnfe){
System.out.println(iae.getMessage());
}
catch(SQLException sqle){
System.out.println(sqle.getMessage());
}
}[/b]

…[/color][/quote]

E o método init() do servlet é:

[quote]
[color=“blue”]public void init(){
String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
String url = “jdbc:odbc:dados”;
db = new Database(driver, url, username, password);
db.connect();
}[/color][/quote]
Como eu disse, esta conexão funciona num “void main(String args[])” comum (retorna resultados tranqüilamente), mas não no Tomcat: a conexão é nula.
Que poutergeist é esse? Existe alguma coisa que se deve configurar no Tomcat para conexão com banco (MSAccess)??

O driver do Access está ao alcance do Tomcat?

[]s

[quote=“pcalcado”]O driver do Access está ao alcance do Tomcat?
[]s[/quote]
Hum… está configurado corretamente em “Fontes de dados (ODBC)”…
O que mais é preciso para o Tomcat reconhecê-lo? :?

Uma coisa é ODBC outra é JBDC.

Da um look nos tutoriais da sun sobre jdbc e le com carinho.

[quote=“Flin”]Uma coisa é ODBC outra é JBDC.

Da um look nos tutoriais da sun sobre jdbc e le com carinho.[/quote]
Acho que vou ter que ler os tutoriais do Tomcat, pois é nele que a aplicação não roda…
Isto é, a ponte JDBC-ODBC não vale no Tomcat daqui. Fora dele, tudo OK… :cry:

Vou tentar resolver

Tem jeito de mudar de banco?
É que o MS Access não é muito apropriado para usar com acessos simultâneos (como é o caso de uma simples aplicação do Tomcat).

Cara, coloca o Driver JDBC na pasta /WEB-INF/lib da sua aplicação que vai funfá.
Ah, o comentário do thingol é muito válido hein? :wink:

[color=darkblue][b]
na verdade existem no odbc 2 tipos de fontes de dados, do usuario e sistema.
O apache ou o JdbcOdbcDriver procura a fonte de dados no sistema e nao na fonte de dados do usuário

a soluçao é criar dsn|driver na aba “Fonte de dados de sistema” do odbc no painel de controle->Ferramentas administrativas->Fonte de dados(ODBC) e nao na aba do usuario!

Osmar Maciel Rehbein.
osmar85@gmail.com