[firebase-br] campo zerado - Parte II
Alexandre Sousa
dave.malkavian em gmail.com
Sex Dez 5 14:28:13 -03 2008
Há um tempo atrás esse assunto apareceu na aqui na lista e tem uma
explicação do Eduardo Jedliczca (Eduardo, perdão se escrevi errado) falando
sobre esse assunto.
Em resumo acontecia o seguinte: os novos dados vão respeitar as condições do
domain alterado pelo IBExpert, mas os dados antigos continuam gravados no
formato que estavam antes. O firebird não faz um update nesses dados para
adequá-los ao novo formato (nem deveria). Então no momento de um gbak, pode
acontecer que um dado que era 15,4 tente ser gravado num campo que é agora
15,2, ocasionando um arithmetic exception.
Eu já tive péssimas experiências com isso. Por esse motivo, sempre recomendo
a alteração de tipos da forma como o Gustavo mencionou.
Att.
Alexandre Sousa
----- Original Message -----
From: "joao_jma" <joao_jma em itelefonica.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, December 05, 2008 3:24 PM
Subject: Re: [firebase-br] campo zerado - Parte II
de onde tirou essa informação? isso realmente procede?
Assinatura João M. de Amorim - Informática: Andreza Enxovais - Ibitinga/SP
((16) 3341-9000 È(16) 9239-0959
----- Original Message -----
From: "Alexandre Sousa" <dave.malkavian em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, December 05, 2008 12:46 PM
Subject: Re: [firebase-br] campo zerado - Parte II
Cara, isso é um risco muito grande.
Esse tipo de alteração nas tabelas do sistema costumam, a longo prazo,
causar corrupções de dados.
A forma que o Gustavo passou garante que os dados ficarão íntegros e não
aparecerão problemas mais tarde.
Att.
Alexandre Sousa
----- Original Message -----
From: "joao_jma" <joao_jma em itelefonica.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, December 05, 2008 2:37 PM
Subject: Re: [firebase-br] campo zerado - Parte II
Acho que eu mesmo consegui
analizei o script que o IBExpert gera quando eu altero "manualmente" e com
algumas alterações cheguei no script abaixo:
update RDB$FIELDS set
RDB$FIELD_TYPE = 16,
RDB$FIELD_LENGTH = 8,
RDB$CHARACTER_LENGTH = NULL,
RDB$FIELD_SCALE = -2,
RDB$FIELD_PRECISION = 15
where RDB$FIELD_TYPE = 10
and
RDB$FIELD_LENGTH = 4
and
RDB$CHARACTER_LENGTH is NULL
and
RDB$CHARACTER_SET_ID is NULL
APARENTEMENTE TODOS OS CAMPOS FLOAT DA MINHA BASE DE DADOS SE TORNARAM
NUMERIC(15,2) SEM PERDA DE DADOS.... AMÉM !!!
ABRAÇOS
Assinatura João M. de Amorim - Informática: Andreza Enxovais - Ibitinga/SP
((16) 3341-9000 È(16) 9239-0959
----- Original Message -----
From: "joao_jma" <joao_jma em itelefonica.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, December 05, 2008 1:28 PM
Subject: Re: [firebase-br] campo zerado - Parte II
Se eu alterar o tipo do campo "na unha" funciona !!!
Clico botão direito no campo, edit domain.... ae altero....
funciona....
Assinatura João M. de Amorim - Informática: Andreza Enxovais - Ibitinga/SP
((16) 3341-9000 È(16) 9239-0959
----- Original Message -----
From: "Gustavo Moda" <gustavo.moda em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, December 05, 2008 12:10 PM
Subject: Re: [firebase-br] campo zerado - Parte II
hahahah Que furada minha, com tanta lista, achei que estava na lista de
java.
O banco é firebird ... "DáHH"
Você vai ter que fazer O SEGUINTE:
1) Criar um campo novo com o formato novo;
2) Transferir o conteúdo do campo alvo para o novo campo
3) Excluir o campo antigo
4) Renomear o campo novo.
Ex.
1) alter table add calc_he add sal_real_novo numeric(15,2);
2) -update calc_he set sal_real_novo = sal_real;
-- verifique nesse ponto se tem valor no campo real
3) alter table CALC_HE drop sal_real;
4) alter table CALC_HE ALTER sal_real_novo TO sal_real;;
Se der erro de sintaxe, me desculpe.. Fiz sem testar,
______________________________________________
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://firebase.com.br/pesquisa
______________________________________________
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://firebase.com.br/pesquisa
______________________________________________
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://firebase.com.br/pesquisa
______________________________________________
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://firebase.com.br/pesquisa
______________________________________________
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://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista