GARANTIR DESCONTO

Fórum Caracteres errados com ADOxParadox no Delphi 7 #255056

19/10/2004

0

Caros amigos,

Estou com um grande problema que preciso resolver urgentemente, estou fazendo uma migração de um banco de dados de um sistema concorrente ao da empresa onde trabalho que usa Paradox para o sistema da minha empresa que usa SQL Server 2000, a conexão com o banco Paradox eu faço através de ADOQuery, a conexão se faz perfeita, consigo executar todas as querys necessárias, mas quando eu retorno algum valor do banco de dados Paradox que contenha algum caracter especial, ele vem totalmente errado, há alguns exemplos abaixo de como estou recuperando esses dados.

Caminhão --> Caminh+o
Mendonça --> Mendonãa

e por ai vai, gostaria de saber se tem algum recurso para poder corrigir esses erros. Aguardo resposta urgente!!!!

Valeu


Xande-df

Xande-df

Responder

Posts

19/10/2004

Gandalf.nho

Você tem que setar o Collation do SQLServer para ser compatível com o da base Paradox, para evitar esses erros.


Responder

Gostei + 0

19/10/2004

Xande-df

Não é esse o caso, esses dados já estão vindo errados para as variáveis que os recebem e não na hora de gravar no Sql Server, a conexão com o SQL Server e feita através de um componente desenvolvido pela empresa onde trabalho e é totalmente independente do ADO. O problema está com o ADO e com o Paradox!!!!


Responder

Gostei + 0

19/10/2004

Gandalf.nho

Eu não trabalho com o ADO, mas ele não tem um recurso de CHARACTER SET na conexão?


Responder

Gostei + 0

19/10/2004

Xande-df

Não, foi a primeira coisa que eu procurei quando me deparei com isso, realmente não o encontrei. Se eu não resolver isso, vou ter que mudar todo o meu sistema para acessar o BDE, só que não quero fazer isso pois demoraria um pouco para fazer essa conversão, mas pelo visto...


Responder

Gostei + 0

19/10/2004

Leonardoffsilva

Verifica qual o código da tabela ASC extendida(acima de 128) que foi utilizada pela aplicação Paradox para arquivar as informações. Ex. (850,870), porque certamente não é a mesma que você está utilizando agora com o SQL Server.
Isso é muito comum acontecer quando de migra de uma tabela BDF para C/S. Sempre tem alguns problemas com acentuaçao, pois esses caracteres são superiores a 128 e dependem de uma tabela especial.


Responder

Gostei + 0

20/10/2004

Xande-df

Po, valeu pela dica, mas eu não tenho como verificar isso, pois o sistema que grava na tabela paradox é um sistema de uma empresa concorrente da que eu trabalho, não tenho acesso a essas informações. Gostaria de saber se dentro do ADOQuery tem algum parâmetro de configuração de caracteres.

Valeu


Responder

Gostei + 0

20/10/2004

Gandalf.nho

Tente abrir a tabela Paradox no Database Desktop e verifique a Language Table.


Responder

Gostei + 0

20/10/2004

Xande-df

Verifiquei, esta com a ´Pdox ANSI Intl850´, mas só tem essa, isto esta certo? Como faço pra alterar?


Responder

Gostei + 0

20/10/2004

Leonardoffsilva

Bom, já temos algum começo. De forma automática não tem como. Você deverá traduzir os caracteres um a um. Todos.
Faça da seguinte forma:
Para cada registro do paradox: Leia o campo e armazene em uma string. Depois verifique cada caracter e troque os acentos errados pelo código certo.
Grave a string traduzida na tabela SQL Server.

Sempre que faço alguma importação de dados de sistemas em ´Clipper´ (arghh :? ) tenho que fazer isso.

Dá trabalho, mas o serviço fica impecável.


Responder

Gostei + 0

20/10/2004

Xande-df

É meu amigo só que eu não tenho tempo pra isso, o sistema já esta pronto, terei que mexer em + de 5 classes para poder fazer essas trocas, isso é o meio inviável de fazer. Tem que haver um jeito - complicado e + rápido


Responder

Gostei + 0

21/10/2004

Xande-df

Alguém me AJUDAAAAA!!!!!


Responder

Gostei + 0

28/03/2005

Fred

Na configuração do ODBC tem la(pelo BDE ou SQLexplorer: LANGDRIVER coloca la ´ascii´ ANSI


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar