Ajuda com conexão com Acess

Ola bom dia,
Estou tentando fazer uma conexão com banco access mas esta dando o seguinte erro;

Deu erro na conexão com a fonte de dados java.sql.SQLException:[Microsoft][ODBC Driver Manager]O DNS especificado contém uma incompatibilidade de arquiteturas entre o Driver e o Aplicativo

[code]package PACOTES_INTERFACE;
import java.sql.;
import javax.swing.
;
public class Conexao_Access
{

    public static void main(String args [])
    {
    		  String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    		  String url = "jdbc:odbc:javaMeyer";
    		  String usuario ="";
    		  String senha ="";
    		  Connection conexao;
    		  Statement statement;
    		  ResultSet resultset;
	    
    		try
    		{
    		Class.forName(driver);
    		conexao = DriverManager.getConnection(url,usuario,senha);
    		JOptionPane.showMessageDialog(null, "Você está Conectado ao Banco de Dados Access");
    		}
    		catch (ClassNotFoundException Driver)
    		{
    		JOptionPane.showMessageDialog(null, "Driver não Localizado" + Driver);
    					
    		}
    		catch(SQLException Fonte)
    		{
    		JOptionPane.showMessageDialog(null, "Deu erro na conexão" + "com a fontr de dados" + Fonte);
    						
    		}
    	}
	}

Você configurou a fonte de dados odbc no windows apontando para seu bd access?

Se voce estiver usando Windows 7, não terá acesso nas ferramentas administrativas aos drivers… terá que executar do seguinte caminho:

C:\Windows\SysWOW64\odbcad32.exe

como voce pode verificar o driver é 32 bits, sendo assim sua jre pode estar conflitando com o driver por ser talvez de 64 bits, eu fui testar aqui na minha máquina
que comprei a pouco tempo e vi alguns posts… testei o codigo e consegui efetuar a conexão normalmente.

Mais informação nesse post:

Qualquer coisa poste novamente.

Estou com o mesmo problema q o meyer. Fiz o acesso ao arquivo dos drivers pelo caminho que o ribclauport mencionou e apontei para o arquivo do BD.
Mas o erro persiste. Uso o NetBeans 7.2, Windowns 7. Segue o código do método e conexão:

public void exibeBanco() throws Exception {
        Connection conexao;
        String c_fonte = "jdbc:odbc:banco";
        String c_user = "";
        String c_senha = "";
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            conexao = DriverManager.getConnection(c_fonte, c_user, c_senha);
            System.out.println("Conexao MS-ACCESS O.K.");
            Statement st = conexao.createStatement();
            ResultSet rs = st.executeQuery("SELECT nome, endereco, telefone FROM pessoas");
            while (rs.next()) {
                String w_nome     = rs.getString("nome");
                String w_endereco = rs.getString("endereco");
                String w_telefone = rs.getString("telefone");
                System.out.println("Nome: "     + w_nome.trim()    );
                System.out.println("Endereco: " + w_endereco.trim());
                System.out.println("Telefone: " + w_telefone.trim());
            }
            conexao.close();
        } catch (Exception exibeErro) {
            System.out.println("\n"+exibeErro+"\n\n");
        }

[color=red]java.sql.SQLException: [Microsoft][ODBC Driver Manager] O DSN especificado cont?m uma incompatibilidade de arquiteturas entre o Driver e o Aplicativo [/color]

Agradeço a atenção.

Veja, acredito que o problema é por que o jdk do Netbeans está configurado para 64 bits, tente baixar um Netbeans com jdk 32 bits, ou instalar o jdk 32 bits e de alguma forma mudar no Netbeans o jdk para 32 bits, eu uso eclispe, desta forma não sei como mudar no Netbeans.

De fato, o erro “incompatibilidade de arquiteturas” é realmente devido a esse problema de 32 x 64 bits.

Aproveitando que você está com a mão na massa, que tal usar um outro banco que não o MS-Access? A menos que seja para brincar eu não recomendaria usar esse banco.

PAREM DE USAR O ACCESS!!! KKKK

Ribclauport obrigado por responder, eu até procurei o jdk x32 mas não achei na seção de downloads da Oracle.Nem tento mais :expressionless: .

Entanglement realmente concordo com você. Eu particularmente uso o MySQL. Fácil configurar a conexão, mais robusto e o melhor [color=green]free[/color]. :wink:

Denisspitfire não fique bravo. Como eu disse anteriormente, uso o MySQL. Só tentei usar o Access porque um amigo me pediu uma aplicação de cadastro simples e o
software de impressão das etiquetas com os dados, só funciona com Acces e de extensão .mdb :x . Para não ter que desenvolver mais coisas na aplicação queria usar a
conexão com o Access direto 8) .Entendeu agora? Não se desespere… :slight_smile:
Vou desenvolver a aplicação para gerar arquivos em Excel. Depois é só fazer a importação de dados para o Access e assim as devidas impressões.
Acho que assim, dá menos trabalho. :thumbup:

Va para esse link:

http://docs.oracle.com/javase/7/docs/webnotes/install/windows/jdk-installation-windows.html#Check

Voce vai ver a seguinte frase:

The file jdk-7<version>-windows-i586-i.exe is the JDK installer for 32-bit systems

ou seja esse arquivo ae em cima é o jdk de 32 bits!!!

Bom, tudo bem que voce pode fazer de outra forma e bla bla bla, mas se eu fosse você baixaria esse jdk, e faria a coisa funcionar,
bom de qualquer forma fica ae a informação do jdk 32 bits.

Abraço.

Vlws ribclauport, assim que conseguir algo eu aviso…
Questão de honra agora. :thumbup:

Thanks…