[firebase-br] Migrar IB/FB

RedDevil reddevil em reddevil.eti.br
Seg Ago 1 01:03:09 -03 2005


ola pessoal,

nos testes que eu fiz agora a pouco sobre esse lance ae, aconteceu a historia
mais estranha que eu ja tive a oportunidade de presenciar...

tipow assim se a gente executar no IBExpert o update na tabela de sistema que o
Eduardo colocou na roda (ow Jose Luiz, aquela msg sobre o Plan nao eh de erro...
isso acontece tambem quando a gente executa uma SP ou alguma coisa do genero),
realmente o IBExpert continua exibindo a metadata sem o collate... nao adianta
reiniciar o servidor, nem fazer backup/restore que o collate nao muda no
IBExpert, mas basta abrir o mesmo banco com o IBOConsole que nele o collate
aparece alterado...

mesmo se a gente esquecer o IBExpert, e fazer toda a historia no IBOConsole,
neste ultimo o collate aparece, mas se a gente entrar no IBExpert em seguida,
nele a alteraçao nao consta...

a impressao que fica eh a de que o IBExpert nao reconhece alteraçoes feitas via
alteraçao de tabela de sistema...


"subproduto de rock... sera um tipo de nhoque? alguem me de um toque o que que
quer dizer..." - by Intelligence
;o)

[]s
força sempre.
ate +++

--
Luiz "RedDevil" Stefanski
http://www.RedDevil.eti.br - Delphi 4 Powered by IBObjects
exemplos e dicas sobre o IBObjects:
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165
compilaçao/instalaçao do IBObjects sabor BPG:
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630



----- Original Message -----
From: "Jose Luiz de Medeiros" <medeiros em pontenet.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Sunday, July 31, 2005 11:28 PM
Subject: RES: [firebase-br] Migrar IB/FB


Colega..

Obrigado pela força, e duro iniciar em uma tecnologia nova, pois até a pouco
sofria com Paradox, BDE..

Rodei essa linha de código que vc me sugeriu mas parece ter me dado um erro:
 Código que vc me enviou:

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

Deu o seguinte erro no IBExpert:

Plan
PLAN (RDB$FIELDS NATURAL)

Adapted Plan
PLAN (RDB$FIELDS NATURAL)

 E não alterou nada nos campos os campos nome por exemplo de uma tabela
continua com o CHARACTER E COLLATE = NOME .

O que será que fiz de errado?


Grato:
Jose Luiz

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de eduardo
Enviada em: domingo, 31 de julho de 2005 19:07
Para: lista em firebase.com.br
Assunto: Re: [firebase-br] Migrar IB/FB


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






Mais detalhes sobre a lista de discussão lista