Estou desenvolvendo um sistema simples de uma empresa. Essa empresa sempre utilizou o excel para colocar as informações referentes, no caso, a plano de saúde. Passei essas tabelas para o Access e agora preciso de um aplicação para gerenciar essas informações. Estou fazendo isso em Java. Porém, nao sei fazer o acesso JDBC em banco de Dados do Access. Gostaria de passar esse BD para Postgre.
Alguém?
Abraços
ps: serve tambem fazer conexao jdbc com access, se alguem sober.
Amigo, o Access não possui conexão JDBC e sim ODBC.
Você poderá fazer uma conexão com o access da seguinte maneira:
Primeiro vc precisa verificar qual é a versao do MS Officce que está instalado no teu pc…
Vc, faz isso indo na pasta C:/Arquivos d Programas/MicrosoftOffice/
e aqui dentro verifique se há uma pasta com o nome OFFICE11 -> Esta pasta é referente ao office 2003 abaixo
Se houver uma Pasta com o Nome OFFICE12-> Esta pasta é referente ao office 2007 em diante
Se houver as duas significa que seu Office é o 2003 com Leitor de arquivos para o 2007.(Crie uma conexão para o 2003 neste caso)
public DataSource() throws OfficeNaoInstaladoException {
String caminho=a.getArquivoConfig().getCaminhoBanco();//Aqui eu pego o caminho do arquivo do access
if(caminho==null || caminho.equals(""))return;
this.DBQ = caminho;
System.out.println(DBQ);
CapturaVersaoOffice versao= new CapturaVersaoOffice();
int t=versao.findVersion();//Este método faz o procedimento de buscar a versão do office
if(t==-1){
throw new OfficeNaoInstaladoException();
}
if(t==0)
this.url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+DBQ;//Esta Url é referente ao officce 2003
if(t==1)
this.url= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+DBQ ;//Esta Url é referente ao officce 2007
usuario="";
senha="";
}
//E este método cria e devolve uma conexão!
public Connection getConnection(){
if(con==null) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url, usuario, senha);
System.out.println("================================ Conexao ativa! ================================");
} catch (SQLException ex) {
Logger.getLogger(DataSource.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(DataSource.class.getName()).log(Level.SEVERE, null, ex);
}
}
return con;
}
Porém há alguns problemas na utilização do Access como DB.
Uma vez aberta uma Conexão ela não poderá ser fechada!
Estude sobre conexão ODBC!
Ela é um pouco complicada de se trabalhar…mas dpois que se aprende é bem legal!