Duvida do ODBC

6 respostas
edilsonon

Olá Pessoal,

Minha duvida é o seguinte, estou acessando um banco de dados do ACCESS(.mdb),
só estou tendo uma dificuldade porque tem campos com acentuação como exemplo "Matrícula"
como posso acessar os dados dessa coluna, pq da forma que estou tentando acessar ele da erro e não
me traz informação nem uma.
E outra coisa em relação a acentuação de dados como converter para que possa ver ele em uma campo.

obrigado antecipadamente

abraços

Edilson

6 Respostas

nel

Boa noite.

Antes de mais nada, foi você que criou as tabelas do banco? Eu não recomendo criar tabelas utilizando acentos, fica fora de formatação, eu diria.
Em relação a não trazer nada e/ou ocorrerem erros, o ideal é que poste sua classe de conexão e a(s) de consulta(s).

Sobre esta sua dúvida: "E outra coisa em relação a acentuação de dados como converter para que possa ver ele em uma campo."
Você quer remover possveis acentos vindo do banco?

Abraço.

edilsonon

Ola colega,

o banco não é meu, e sim de terceiros, e o motivo é que eu preciso importar os dados para o meu banco ou servir como consulta
no meu aplicativo.

é isso mesmo remover a acentuação vinda do banco de dados

abraço

Edilson

nel

Bom, sempre é complicado quando precisamos acessar uma database de terceiros, com algumas excessões claro.
Para remover os acentos basta utilizar o java.text.Normalizer.

Exemplo: String input = "çaláda"; input = Normalizer.normalize(input, Normalizer.Form.NFD); //Isto se faz necessário pois após remover os acentos ficam uns "lixos" na String, a linha abaixo remove estes "lixos". input = input.replaceAll("[^\\p{ASCII}]", ""); System.out.println(input);

Espero ter ajudado.

Abraços

edilsonon

Amigo

Eu execultei seu exemplo no banco de dados ele funcionou BLZ, mais os nomes continuaram
vindo com caracteres especiais ao invés de ter removido a eles.

mais em relação ao nome da coluna tem como eu resolver a acentuação dela para que eu possa
acessar os dados

abrigado, abraço

Edilson

nel

Então, o que já existe no banco com os caracteres especiais paciência ou você sai atualizando os valores das tabelas, o que pode ser extremamente trabalhoso.
Você poder criar uma classe utils e criar um método static que remova os caracteres especiais com o código que especifiquei acima, você pode utilizar este método antes de persistir a informação no seu banco e depois de efetuar a consulta, assim quando salvar nas tabelas vai sem os caracteres especiais bem como quando efetuar uma consulta.

Em relação aos nomes das tabelas, pelo o que eu tenho conhecimento, somente alterando o nome “na mão” mesmo, ou seja, ver quais tabelas possuem acentos em seus nomes e remover. Pode pesquisar se existe outra forma de se fazer isso com o Acess mas creio que esta seja a única forma mesmo, ou seja, renomeando as tabelas.

Abraços.

edilsonon

Vlw Cara

Muito obrigado pelas informações, e ajuda

vou me dedicar a essas alterações nesse banco

obrigado mesmo

Abraços

Edilson

Criado 2 de abril de 2010
Ultima resposta 2 de abr. de 2010
Respostas 6
Participantes 2