[firebase-br] Erro do DBExpress, depois de migrar do FB 1.5 para o FB 2.1

Paulo Sérgio Dias (GMail) psdias em gmail.com
Qua Jul 23 17:22:19 -03 2008


Pessoal:

Tenho um sistema feito em Delphi 7 (SETE), que rodava bem com o FireBird 
1.5,
acessando com o DBExpress e driver InterBase

Migrei para o FireBird 2.1, e agora está aparecendo o seguinte problema:

a) Ao fazer algum SELECT que não tenha a cláusula WHERE (porque todos os 
dados
da tabela são necessários naquela rotina), aparece o seguinte erro:

SQL Error: Error mapping failed

b) Descobri, por tentativa e erro, que se eu incluir a cláusula WHERE no 
comando,
funciona bem:

SELECT * FROM TBFERIADOS  WHERE DATFERIADO IS NOT NULL

(neste caso, o campo DATFERIADO é chave, e por isso nunca é nulo - o que
faz o comando trazer todos os dados)


c) Isso acontece com qualquer SELECT onde não exista a cláusula WHERE
(são vários, espalhados pelo sistema, pois há vários processos que utilizam
TODOS os registros da tabela - geralmente são tabelas pequenas ou com dados
temporários, por isso não tenho problema com performance em trazer todos os 
registros)

Pergunta:
----------------
- Gostaria de saber se alguém já passou por este problema, usando DBExpress 
do Delphi 7 (SETE)
e se há alguma outra solução, além de eu ter de forçar a presença da 
cláusula WHERE em todos
os comandos onde hoje ela não existe.   Eu digo "forçar" porque, como no 
exemplo acima,
ela seria dispensável (tanto que, com o FireBird 1.5, esse problema não 
existia).

Grato pela atenção de todos
Paulo 





Mais detalhes sobre a lista de discussão lista