[firebase-br] Migrar IB/FB

eduardo eduardo em icontroller.com.br
Dom Jul 31 19:06:47 -03 2005


Oi Jose Luiz

Quanto ao Character set, será usado automaticamente o que você definiu 
na criação do banco.
Quanto ao COLLATE, o ideal é que você trocasse já nos scripts de criação 
onde, com Ctrl+C/V, seria fácil trocar todos.
Você pode, contudo, alterar diretamente as tabelas do Sistema:

Na tabela RDB$FIELDS, o campo RDB$FIELD_TYPE terá o valor 37 para 
VARCHAR e 14 para CHAR. O código do COLLATE PXW_INTL850 é 2 e o do 
CharacterSet WIN1252 é 53.

A query abaixo faz o que você quer

UPDATE RDB$FIELDS SET RDB$COLLATION_ID = 2 WHERE RDB$FIELD_TYPE IN 
(14,37) AND RDB$CHARACTER_SET_ID=53 AND RDB$SYSTEM_FLAG=0

Como é um tabela do Sistema, após executá-la, reinicie o Servidor e faça 
um backup/restore para ter certeza que deu tudo certo. Também é 
aconselhável ter um Backup prévio do banco antes de fazer isso.

[]s Eduardo


> Colegas..
> 
>  
> 
> Tenho um sistema em delphi que usa o IB 6.0 com vários registros, conectados
> com os componentes nativos da paleta Interbase. Como adotei o FireBird 1.5
> para os meus sistemas, preciso  criar um outro banco de dados com a mesma
> estrutura do firebird. Já fiz usando o IBDataPump , com os scripts do BD
> original compilei no IBExpert e blz, mandei migrar os dados através do
> IBDataPump. Mas como tenho varias tabelas no meu Banco de dados preciso
> padronizar o Charset como WIN1252 E OS COLLATES COMO PXW_INTL850 de todos os
> DOMAINS e campos das tabelas do tipo CHAR E VARCHAR, que é uma determinação
> que o cantu colocou varias vezes em seu livro. Teria jeito de se fazer isso
> já com as tabelas e domínios já prontos , sem precisar de ir em tabela por
> tabela individualmentte?
> 
>  
> 
>  E qual componente devo adotar para substituir os da paleta Ineterbase?
> 
>  
> 
>  
> 
> Grato:
> 
>  
> 
> Jose Luiz
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista