Operation not applicable. Bde. Delphi 2007. Client com windows 10

29/07/2019

8

Olá Pessoal, estou com esse problema a semanas e não consigo solução.

Não uso midas. Depois que um client foi atualizado para Windows 10, essa mensagem começou a aparecer. Nos clients com windows 7 isso não ocorre.

Acesso o BD através do componente TDatabase da Aba BDE, conectando por ODBC ao Postgres.

Quando a query é simples o problema não ocorre, contudo, quando é necessário ligá-las a outras tabelas o problema ocorre.
Com esse tipo de consulta quando vou gravar o problema acontece.
select
pss.*,
usi.nome as usuario_inclusao,
usa.nome as usuario_alteracao,
tit.nome as titular,
per.nome as tipo_dependencia
from
tb_pessoa pss
left join tb_pessoa usi on pss.id_usuinc=usi.id_pessoa
left join tb_pessoa usa on pss.id_usualt=usa.id_pessoa
left join tb_pessoa tit on pss.id_pessoa_titular=tit.id_pessoa
left join tb_perfil per on pss.id_perfil_dependencia=per.id_perfil


Com esse tipo de consulta quando vou gravar o problema NÃO acontece acontece.
select
prf.*
from
tb_perfil prf

Preciso de ajuda urgente. Obrigado.
Responder

Post mais votado

30/07/2019

Olá Gutemberg, tudo bem?

Não tenho como dar 100% de certeza mas pelas "pistas" que você me deu e pela minha experiência com BDE e ODBC, é possível que em algum ponto das camadas (BDE, ODBC e client do Postgrees são 3) está havendo remoção de parte do sql chegando ao Postgres um código incompleto.

A forma mais precisa de constatar isto seria monitorar o servidor Postgres mas desconheço se existe tal ferramenta, infelizmente.

Se o que eu disse for correto, você precisa testar com outros componentes como DBExpress (que aceita ODBC e conexão direta ao servidor) passando os mesmo SQLs.

Se puder, elabore um pequeno teste com DBExpress (tanto usando ODBC como diretamente e analise os resultados).

Qualquer coisa pode retornar o contato. Estamos a disposição!
Responder

Mais Posts

Olá Hélio, obrigado pela resposta. Faz sentido o que você expôs, pois na mesma maquina tenho outra aplicação conectando com ADOQuery e não ocorre o mesmo problema. Vou ver se consigo resolver com BDE, pois essa é a aplicação principal e mudar esses componentes é muito complicado!
Responder
A solução que achei e testei seria trocar todo o componente... ou reescrever as querys sem join e usar lookup fields no lugar. O problema aparece com o componente updatesql.. alguém tem alguma idéia?
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira