[firebase-br] Compatibilidade de Dados - Firebird 2.5 x 4.0
Carlos H. Cantu
listas em warmboot.com.br
Quarta Julho 20 10:45:45 -03 2022
E o IBExpert utiliza uma versão modificada dos componentes FreeIB :)
Atualize a versão do IBExpert para uma que seja compatível com os novos tipos de
dados do Firebird 4 que provavelmente irá resolver sue problema, pelo menos no
IBExpert... já nas suas aplicações, vai depender dos seus componentes de acesso.
[]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> ------------------------------------------------------------------------
VDvl> /Cordialmente Valdir Dill /Bom dia, Não estou fazendo conexão via
VDvl> componente. O erro ocorre é no IbExpert. Não sei se entendi muito bem
VDvl> Cantu. Pelo que entendi de sua resposta, no Firebird 4.0 não poderei ter
VDvl> um campo do tipo numeric(12,2) e trazê-lo da forma pura quando usado em
VDvl> função SUM, ou seja, sempre que fazer o cast para somar o valor de campos
VDvl> desse tipo? /Cordialmente Valdir Dill /
VDvl> O problema não é o tipo do dado do campo, e sim o fato de que no Firebird 4 o
VDvl> SUM vai retornar um tipo "maior" (128 bits) do que o do campo somado, o que faz
VDvl> total sentido se você pensar na possibilidade de que o somatório poderia não
VDvl> "caber" no tipo original.
VDvl> Seu componente de acesso aparentemente não reconhece o tipo de dado retornado
VDvl> pelo SUM nesses casos, por isso a necessidade do cast funciona ou do
VDvl> DataTypeCompatibility, mas isso não impedirá que você tenha problemas com
VDvl> overflow.
VDvl> []s
VDvl> Carlos H. Cantu
VDvl> eBook Guia de Migração para o FB 4 -www.firebase.com.br/guiafb4.php
VDvl> 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
VDvl> ______________________________________________
VDvl> FireBase-BR (www.firebase.com.br) - Hospedado em www.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