[firebase-br] Compatibilidade de Dados - Firebird 2.5 x 4.0
Valdir Dill
valdiralbertod em gmail.com
Quarta Julho 20 10:33:20 -03 2022
------------------------------------------------------------------------
/Cordialmente Valdir Dill /Bom dia, Não estou fazendo conexão via
componente. O erro ocorre é no IbExpert. Não sei se entendi muito bem
Cantu. Pelo que entendi de sua resposta, no Firebird 4.0 não poderei ter
um campo do tipo numeric(12,2) e trazê-lo da forma pura quando usado em
função SUM, ou seja, sempre que fazer o cast para somar o valor de
campos desse tipo? /Cordialmente Valdir Dill /
O problema não é o tipo do dado do campo, e sim o fato de que no Firebird 4 o
SUM vai retornar um tipo "maior" (128 bits) do que o do campo somado, o que faz
total sentido se você pensar na possibilidade de que o somatório poderia não
"caber" no tipo original.
Seu componente de acesso aparentemente não reconhece o tipo de dado retornado
pelo SUM nesses casos, por isso a necessidade do cast funciona ou do
DataTypeCompatibility, mas isso não impedirá que você tenha problemas com
overflow.
[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 4 -www.firebase.com.br/guiafb4.php
www.FireBase.com.br -www.firebirdnews.org - blog.firebase.com.br
VDvl> Boa noite,
VDvl> Estamos migrando de Firebird 2.5 para 4.0 e estamos tendo o seguinte erro:
VDvl> Executando o SELECT SUM(VALOR)) SALDODEVEDOR FROM CONTASRECEBER, no
VDvl> Firebird 4.0 não funciona mais. Dá o erro: "Unknown SQL Data type (32752)"
VDvl> Só funciona assim:
VDvl> SELECT SUM(CAST(VALOR AS FLOAT)) SALDODEVEDOR FROM CONTASRECEBER
VDvl> Ou seja, precisa fazer um cast.
VDvl> Obs.: o campo VALOR é do tipo numeric(12,2). Dialeto 3.
VDvl> Pelo que andei lendo, me parece que há uma incompatibilidade de tipos de dados do Firebird anterior 2.5.
VDvl> Tanto é que se eu mudar a linha #DataTypeCompatibility do firebird.conf
VDvl> para DataTypeCompatibility = 2.5, aí não dá erro, mesmo sem fazer o cast.
VDvl> Então, é realmente problema de compatiblidade.
VDvl> A questão é: o tipo numeric(12,2) criado no Firebird 2.5 não deveria ser
VDvl> totalmente compatível no Firebird 4.0?
VDvl> Obrigado!
VDvl> ______________________________________________
VDvl> FireBase-BR (www.firebase.com.br) - Hospedado emwww.locador.com.br
VDvl> Para saber como gerenciar/excluir seu cadastro na lista, use:
VDvl>http://www.firebase.com.br/fb/artigo.php?id=1107
VDvl> Para consultar mensagens antigas:http://www.firebase.com.br/pesquisa_lista.html
Mais detalhes sobre a lista de discussão lista