[firebase-br] Fwd: Re: Problemas com campos Numericos

Itauto CPD cpd em itauto.com.br
Seg Out 21 09:03:25 -03 2019


Justamente o que eu to tentando fazer mesmo .. porem o problema é que em 
alguns casos ele vem com o valor maior e da o estouro .. pelo que

vi não tem remédio, vou ter que tratar um a um .


Mas obrigado a todos pelo Retorno .

NUMERIC (15,2) no dialeto 1 é armazenado internamente como double
precision, que garante até 15 digitos de precisão, mas está sujeito
aos "artefatos" inerentes ao armazenamento desse tipo de dado como
ponto flutuante, que não garante que o número recuperado é exatamente
o mesmo que foi armazenado.

Mudar um banco existente de dialeto 1 para 3 simplesmente através de
backup/restore não altera essa característica, ou seja, os campos
existentes continuam tendo a caracteristica de ponto flutuante, pois
não são convertidos automaticamente para o padrão de armazenamento
interno usado nativamente pelo dialeto 3 (que no seu caso seria um
BIGINT).

O recomendável é criar um banco no dialeto 3 via script e fazer um
PUMP dos dados pra ele.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

IC> Boa tarde ..

IC> Firebird 2.5 migrado para 3.0 .

IC> Estou tendo problemas com campos "Numeric(15,2)"  ...

IC> E esse banco era dialeto 1, e fiz a alteração do dialeto 1 para 3 e 
IC> depois fiz o backup e restore ..

IC>   Vi que em alguns casos os campos numeric .estão com valores estralhos
IC> e ao tentar fazer um DataPump esta dando problemas

IC> ex:

IC> Uma tabela com valor numeric esta sendo extraida com esse valor : 
IC> "1.88451045712187E-305"

IC>  INSERT INTO FINBDRDI (ID_BDR, VALOR, CODCTA) VALUES (249627, IC> 
1.88451045712187E-305, '303');


IC> Ocasionando o erro abaixo processar esse sql.

IC> "Arithmetic overflow or division by zero has occurred. arithmetic 
IC> exception, numeric overflow, or string truncation. numeric value is out
IC> of range."


IC> O que eu poderia fazer pra ajustar esse problema ? .. existem casos 
IC> também que tem valores com o valor 'NAN' .. E consequentemente nao 
IC> consigo executar um datapump

IC> porque esses valores nao sao aceitos ..


IC> Desde ja agradeço


IC> Adilson Pazzini .



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: 
http://www.firebase.com.br/pesquisa_lista.html

-- 
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus





Mais detalhes sobre a lista de discussão lista