[firebase-br] Migrando do FB2.0 para o FB2.1, problema com collate
Arlei Ferreira Farnetani Junior
junior em farsoft.com.br
Dom Mar 23 22:07:12 -03 2008
Eduardo...valew pela dia...mas estou com um problema...
Alguns campos PK meus são do tipo VARCHAR... ISO8859_1 estão
com o collate default ISO8859_1
Tentei rodar a instrução abaixo:
update RDB$RELATION_FIELDS set
RDB$COLLATION_ID = 16
where RDB$COLLATION_ID = 0
o 0 é o varchar ISO8859_1 com o padrão e
o 16 é o varchar ISO8859_1 com o PT_BR
o porém que dá problema nas PKs...ai to
tendo que arrumar tudo na unha...só que
tenho um problema, tenho mais 30 bancos destes
para migrar...sacou...
Existe algum comando que eu rode apenas uma
vez e ele já extraia os dados e transporte para
um outro banco? Eu pergunto isto pq este
meu banco tem 208 tabelas...E se tiver q
fazer tabela a tabela...putz...ja da pra desanimar...
To fazendo assim oh:
select * from RDB$RELATION_FIELDS
where RDB$collation_id=0
ai vou de um e um e to alterando para o codigo 16.
Qualquer luz será bem vinda...valew!
----- Original Message -----
From: "Eduardo Bahiense" <eduardo em icontroller.com.br>
To: <lista em firebase.com.br>
Sent: Sunday, March 23, 2008 4:59 PM
Subject: Re: [firebase-br] Migrando do FB2.0 para o FB2.1,problema com
collate
Olá Arlei
Na verdade não é o IBExpertinho, é o próprio FB.
Infelizmente, há um passo pouco documentado na criação do Banco que é
"setar" o Collate default para o banco.
Faz assim, cria um banco novo com Charset ISO8859_1. Antes de fazer
qualquer coisa no banco, rode a instrução abaixo:
UPDATE RDB$CHARACTER_SETS SET RDB$DEFAULT_COLLATE_NAME = 'PT_BR' WHERE
RDB$CHARACTER_SET_NAME = 'ISO8859_1'
Pronto! Daqui para frente, qualquer campo que exija collate será criado
com esse.
Observações:
1. Após essa query, reinicie o FB
2. O ideal é que vc prepare um banco novo e transporte as informações
para ele extraindo o metadata do banco antigo.
3. Após o processo de migração, Backup->Restore
4. As conseqüências de não seguir estes passos são imprevisíveis.
Abs,
Eduardo
Arlei Ferreira Farnetani Junior escreveu:
> Pessoal, estou migrando do FB2 para o 2.1 e estou tendo
> um problema em relação ao Collate ISO8859_1, me parece
> que ele não existe no FB 2.1, me resultando a seguinte msg
> de erro:
>
>
> Me parece que qdo nao colocamos o collate o proprio
> IBEXPERT coloca ele resultando que todos os
> campos varchar que fiz estao com este collate aparecendo...
>
> Gostaria de saber se existe um comando sql para alterar
> todos os varchars com collate ISO8859_1 para o pt_br.
>
>
> ______________________________________________
> 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