Erro:jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Program Files/Cadastro e Consulta/banco.mdb
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] A opera??o deve usar uma consulta atualiz?vel.
NoWindows Xp funciona tudo perfeito ele grava, busca no banco, mais quando utilizado no windows 7 ele, não executa nada do banco, erro acima. meu odbc é automatico, ele procura na pasta do meu aplicativo. .mdb(access). no windows 7 ele não permite escrever no banco, como faço essa autorização via codigo, alguem me ajude!! Obrigado
[code]
//Escolha do BD System
String osName = System.getProperty(“os.name”);
String osArch = System.getProperty(“os.arch”);
//Selecionando System e Arch Java
if(osArch.equals("x86") && osName.equals("Windows XP"))
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Arquivos de programas/Cadastro e Consulta/banco.mdb";
else if(osArch.equals("x64") && osName.equals("Windows XP"))
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Arquivos de programas (x86)/Cadastro e Consulta/banco.mdb";
else if(osArch.equals("x86") && osName.equals("Windows 7"))
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Program Files/Cadastro e Consulta/banco.mdb";
else if(osArch.equals("x64") && osName.equals("Windows 7"))
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Program Files(x86)/Cadastro e Consulta/banco.mdb";[/code]
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] N?o foi poss?vel usar '(desconhecido)'. O arquivo j? est? em uso. Já me retornou este erro, mesmo mudando para Arquivos de programas. eu copiei esses diretorios direto do windows 7. deve ter algum problema com conexao e escrita no Windows 7.
Se eu nao me engano, no win7 o que existe eh so uma mascara da lingua portuguesa…
Ou seja, voce ate consegue acessar Arquivos de programas, mas na realidade, o que
existe eh c:\program files…
//Variaveis de driver, e localização do Banco
private static final String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
public static String url = "";//Fonte de dados odbc automatica
private static final String login = "";
private static final String pwd = "";
Variaveis Booleanas
//Selecionando System
if(osArch.equals("x86") && osName.equals("Windows XP"))
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Arquivos de programas/Cadastro e Consulta/banco.mdb";
else if(osArch.equals("x64") && osName.equals("Windows XP"))
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Arquivos de programas (x86)/Cadastro e Consulta/banco.mdb";
else if(osArch.equals("x86") && osName.equals("Windows 7"))
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Program Files/Cadastro e Consulta/banco.mdb; ";
else if(osArch.equals("x64") && osName.equals("Windows 7"))
url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/Program Files(x86)/Cadastro e Consulta/banco.mdb";
Atraves da verificação do S.O e a Arquitetura da JVM na Maquina ele seleciona a pasta do banco, onde insere essa linha do Booleano na URL, No WIndows Xp Funciona Corretamente, o problema parece ser somente a escrita para o Banco, que deve ter restrições no 7
Descobre um pouco do meu erro, coloquei o Netbeans para rodar como Administrador salvou realiza consulta tudo ok, agora, quando tranformo em JAR, como ele ira salvar no Banco se nao tem opções para rodar como administrador. tem alguma forma de fazer isso via codigo, Desligar o User Account Control.