/**
- Não raramente, quando se faz uma aplicação java que
- necessite acessar uma base de dados do Access, o
- desenvolvedor tem como preocupação o incoveniente de
- ter que forçar o cliente a definir uma DSN(Data Source Name)
- para poder criar uma conexao(Connection) via jdbc:odbc.
- Aqui ensinarei como evitar tal incoveniente.
- Uma primeira explicação é que a solução mostrada aqui foi
- testada apenas no Windows. Não me surpreenderia se não funcionasse
- no Linux. Alias, a surpresa seria se funcionasse em SOs não Micro$soft.
- Então vamos à solução: Todos as bases de dados ou arquivos que tem
- um Driver ODBC instalado podem ser acessados diretamente, ou seja,
- sem que seja necessario definir um DSN. Isso é muito usado por
- desenvolvedores ASP. Para isso, basta saber exatamente o nome do
- Driver e alguns parametros.
- A seguinte classe mostra como realizar uma consulta a uma base de dados Access.
- Desenvolvida pela equipe do JavaFree:
- www.javafree.com.br
-
@author Marcos Silva Pereira - [email removido]
*/
*/
import java.sql.*;
public class Teste {
public static void main(String[] args) {
Connection con = null;
Statement stm = null;
try {
// Capturando o diretorio no qual a aplicação está
// para poder criar o caminho exato para o arquivo
// access(.mdb)
//
// Nota: supondo que o arquivo e a aplicação estejam
// no mesmo diretorio.
String local = System.getProperty(“user.dir”);
local += “\JavaFreeTeste.mdb”;
// Carregando o driver JdbcOdbcDriver
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
// Abrindo uma Connection. Note que o nome do driver deve
// ser o mesmo disponivel parametro DBQ que indica
// o local do arquivo. Eis o pulo do gato. 
con = DriverManager.getConnection(“jdbc:odbc:Driver=” +};” +
“{Microsoft Access Driver (*.mdb)
“DBQ=” + local ,"","");
// Criando Statement para executar as queries.
stm = con.createStatement();
// uma query qualquer.
String q = “SELECT * FROM JAVA_FREE_TESTE”;
// Executando a query.
ResultSet rs = stm.executeQuery(q);
// MetaData do resultado da query.
ResultSetMetaData rsmd = rs.getMetaData();
// Mostrando o resultado.
// Não esquente se não entender essa parte.
while(rs.next()) {
System.out.println("User: " + rs.getString(“javafree_user”));
}
q = “INSERT INTO JAVA_FREE_TESTE(JAVAFREE_USER) VALUES (‘novo_usuario’)”;
System.out.println(stm.executeUpdate(q));
} catch(Exception ex) {
ex.printStackTrace();
} finally {
try {
stm.close();
con.close();
} catch(Exception ex2) {
ex2.printStackTrace();
}
}
}
} </blockquote>
Galera, preciso de ajuda para acessar o banco de dados em access com esse código no Eclipse.