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)??