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);
}
}
}
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.
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:
[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]
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.
Ribclauport obrigado por responder, eu até procurei o jdk x32 mas não achei na seção de downloads da Oracle.Nem tento mais .
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].
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… …
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:
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.