[firebase-br] Tipos de Dados Incompativeis - Oracle
eduardo
eduardo em icontroller.com.br
Sex Jul 29 18:47:18 -03 2005
> Bom... é ao contrário... eu pego os dados do Oracle e insiro no Firebird...
>
> Quando o campo do Oracle é Number e está preenchido com valores muito altos,
> no Firebird, se deixo Numeric ou Decimal, dá um erro, se deixo Float ou
> Double Precision, são truncadas algumas casas.
Puxa vida ! hoje estou meio distraído. Jurava que era de FB para ORACLE.
Bem, nesse caso, você deve ver sua real necessidade de Precision e Scale.
Estes dados, podem estar armazenados como double precision (FLOAT) no
ORACLE e, em alguns casos, com um número exagerado de casas decimais no
resultado (sabemos que um simples 4 pode ser aramazenado com
3,9999999999999999 como float). neste caso você pode ter alguma coisa
como 2828289292922929,9393938383928283.
Não acredito que a parte inteira vá ser problema, pois o FB lida com
INT64 que é bastante grande. A combinação Precision/Scale é que pode
estar limitando.
Desta forma, se no ORACLE houver um campo DECIMAL(N,N) você pode dar um
CAST como DECIMAL(SUA PRECISION, SUA SCALE) e, assim, forçar a
compatibilidade com o FireBird.
Para se orientar melhor, pegue uma destas tabelas que estão dando
problema, e dê SELECT MAX(CAMPO NUMBER). Com este valor em mãos vai
ficar mais fácil para os nossos MESTRES do TeamFB e outros te
aconselharem o melhor formato no FB.
Forte Abraço, Eduardo
Mais detalhes sobre a lista de discussão lista