Olá
Estou desenvolvendo uma aplicação em JAVA
que acessa um base em MS ACCESS
Em um computador com o SO LINUX
Estou utilizando esse código.
No Windows roda perfeitamente
No entanto quando executo no linux da o seguinte erro…
Exception in thread "main" java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.initialize(JdbcOdbcDriver.java:436)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:153)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at servicoSetorOrdem.pegaOrdem(servicoSetorOrdem.java:47)
at servicoSetorOrdem.main(servicoSetorOrdem.java:13)
Preciso de uma solução urgente
Obrigado
import java.sql.*;
import java.util.*;
import java.util.Date;
import java.io.*;
public class servicoSetorOrdem {
public static void main(String args[]) {
servicoSetorOrdem obj = new servicoSetorOrdem();
setorOrdem ordens[] = new setorOrdem[300];
System.out.println("Vai chamar o acesso ao banco");
ordens = obj.pegaOrdem("01/01/2007", "05/01/2007");
System.out.println("Int " + ordens[0].numero + " Data" + ordens[0].dataCadastro);
System.out.println("Int " + ordens[1].numero + " Data" + ordens[1].dataCadastro);
System.out.println("Int " + ordens[2].numero + " Data" + ordens[2].dataCadastro);
}
public setorOrdem[] pegaOrdem(String dataInicio, String dataFim){
Connection con = null;
Statement stmt;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").getInterfaces();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
try {
File arquivo = new File("datsis.dat");
if (arquivo.exists()) {
System.err.print("É véio o arquivo ta la mesmo !!!! ");
}
con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=datasis.dat","","");
stmt = con.createStatement();
String contar = "SELECT count(*) FROM centcust INNER JOIN ordserv ON centcust.código = ordserv.centcust WHERE(((ordserv.[data entrega])>=[" + dataInicio + "] And(ordserv.[data entrega])<=[" + dataFim + "]))";
ResultSet rs = stmt.executeQuery(contar);
ResultSetMetaData rsmd = rs.getMetaData();
rs.next();
int linhas = rs.getInt(1);
setorOrdem ordens[] = new setorOrdem[linhas];
String query = "SELECT ordserv.número, ordserv.data, centcust.código, centcust.descrição, ordserv.[data entrega], ordserv.término FROM centcust INNER JOIN ordserv ON centcust.código = ordserv.centcust WHERE(((ordserv.[data entrega])>=[" + dataInicio + "] And(ordserv.[data entrega])<=[" + dataFim + "]))";
rs = stmt.executeQuery(query);
rsmd = rs.getMetaData();
int i = 0;
for(i=0; i< linhas; i++)
ordens[i] = new setorOrdem();
i = 0;
while (rs.next()) {
ordens[i].setNumero(rs.getInt(1));
ordens[i].setDataCadastro(rs.getDate(2));
ordens[i].setCodigoCentCust(rs.getInt(3));
ordens[i].setDescricaoCentCust(rs.getString(4));
ordens[i].setDataEntrega(rs.getDate(5));
ordens[i].setDataTermino(rs.getDate(6));
i++;
}
stmt.close();
con.close();
return(ordens);
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
}
return(null);
}
}