Академический Документы
Профессиональный Документы
Культура Документы
O PROBLEMA
Caso seu banco de dados tenha objetos definidos com caracteres fora do padro ASCII,
voc deve repara-lo para que possa ser lido aps a migrao para o Firebird 2.1.
Abaixo esto descritos dois mtodos para corrigir o problema. Escolha o que for melhor
para o seu caso.
MTODO "A"
Para os passos a seguir, o banco de dados j deve estar na ODS 11.1 (significando
que, caso seu banco tenha sido criado em uma verso anterior do FB, voc deve fazer
um backup e restaura-lo no FB 2.1).
Para cada um dos passos descritos a seguir, aconselhvel que voc reconecte no
banco de dados.
isql database.fdb
SQL> input 'misc/upgrade/metadata/metadata_charset_create.sql';
Passo 2. Verificando o banco de dados
isql database.fdb
SQL> select * from rdb$check_metadata;
A procedure rdb$check_metadata vai retornar todos os objetos que foram afetados por
ela.
Caso no retorne um erro/exceo, significa que sua metadata est OK e voc pode ir
direto para o passo 4 (abaixo). Caso contrrio, o primeiro objeto com problemas o
ltimo listado antes de ocorrer a exceo.
Para corrigir a metadata, necessrio saber com qual charset o objeto foi criado. O
script de upgrade funcionar corretamente apenas se toda a metadata foi criada com o
mesmo charset.
isql database.fdb
A procedure deve ser executada apenas uma vez! Depois disso, poder ser apagada.
isql database.fdb
SQL> input 'misc/upgrade/metadata/metadata_charset_drop.sql';
MTODO "B"
Este mtodo tem a vantagem de criar um banco de dados com estrutura 100% vlida,
visto que qualquer problema no cdigo de procedures, triggers, etc., como por exemplo
o uso de palavras que passaram a ser reservadas, acusar erros durante a execuo
do script, que dever ser corrigido a fim de deixar o banco de dados com uma metadata
perfeita.
Sempre trabalhe com uma cpia da base de dados original, para evitar qualquer tipo de
problema.
Antes de migrar para o FB 2.1, extraia o script de criao do banco de dados que ser
migrado.
Crie um novo banco de dados j no Firebird 2.1, utilizando o script gerado
anteriormente. Caso ocorram erros durante a execuo do script, corrija os problemas
reportados.
Atravs de uma ferramenta de PUMP (exemplo: IB DataPump), copie os dados da base
antiga para o novo banco de dados.
Autor: Carlos Henrique Cantu - Mtodo "A" traduzido e adaptado do arquivo