RES: RES: [firebase-br] Collate e Character Set - Mais duvidas
Edson T. Marques
marques em oriontec.com.br
Seg Jan 31 09:24:51 -03 2005
E aí, beleza!?!
O lance é o seguinte...
1) Eu baixei o firebird 1.5.2 do source forge:
(https://sourceforge.net/projects/firebirdptbr) (não encontrei o
instalador para linux!), só para win32.
2) Removí o servidor da versão anterior e instalei o novo.
3) Criei um novo banco de dados, definindo o character set para win1252
(Essa parte é fundamental para que você não tenha que dar um monte de
comandos para as tabelas de sistemas do seu banco (ver leiame (em um dos
diretórios de instalação) que acompa o firebird PTBR)).
4) No ERWin eu criei um pré-script de modelo com todos os domínos que
queria definir. tais como:
create domain CNPJ as char(14) collate WIN_PTBR;
5) Essa foi a parte que me comeu uma semana de trabalho: a) Fiz um
backup do meu modelo, no ponto que estava. b) Me certifiquei que o
backup funcionava. c) Troquei todos "types" (isso tem que ser feito
depois do que foi explicado em (6)) dos campos do meu modelo para os
domínios que definí (sim, todos porque definí domínios para todos os
conjuntos distintos de campos que existem no meu modelo, inclusive
campos numéricos (resolví segur a dica do Paulo (acho que foi dele
mesmo!) que disse que é importante criar domínio para tudo, uma vez que
se você não fizer o próprio FB vai fazer, e encher as tabelas de
sistemas com um domínio diferente (com nomes-códigos sequenciais) para
cada campo do seu banco.)).
6) Para o ERWin poder usar esses domínios, tem um macete que é o
seguinte: Você acessa o "domain dictionary" (que na versão 4.1 fica no
menú "Model") e insere cada um dos os domínios que você definiu, lá no
pré-script de modelo, tomando 5 cuidados básicos: 1) não esqueça de
herdar seu novo domínio, sempre de um type definido pelo ERWin (Number,
String, Date...) 2) No "Edit mode" Lógico, coloque um ícone apropriado
para o domínio que foi criado. 4) No "Edit Mode" Físico desmarque o
checkbox "DOMAIN" na guia Geral e 5) sobrescreva o "Interbase Datatype"
com o nome do domínio que você colocou lá no script (Isso na guia
Interbase). É importante observar aqui que eu meu "target SQL DBMS" é
Interbase, mas eu já vi aqui na lista gente que usa o ODBC/Generic,
nestes casos eu não seu oque aparece no lugar de "InterBase" em "domain
dictionary/Edit Mode Físico/guia Interbase".
7) Aí é só passar os types dos campos para os domínios.
Quer ver? faça um teste criando um novo campo, escolha um dos domínios
que focê inseriu no domain dictionary. Após você inserir o novo campo e
ir para a guia datatype o nome do domínio tem que aparecer no Edit
"Datatype" (não aparece no ScroolEdit abaixo). Se não apececer você pode
editar direto no Edit Datatype e colocar o nome do domínio lá.
Cabe uma resalva aqui, pois meu modelo foi importado das versões
anteriores do ERWin (veio mudando de versão em versão) e já existiam
alguns domínios definidos (no domain dictionary). Eu apenas fiz alguns
ajustes neles, atualizei os nomes de alguns. Quando eu saí do domain
dictionary, rapaz(!!!), O ERwin tem um bug que fez uma bagunça dos
infernos nos nomes dos campos, trocando nomes de campos por nomes de
domínios, mantendo alguns domínios com os nomes antigos, foi uma zona.
Por isso tudo que eu tive trabalho para uma semana. 100% concentrado.
No final deu tudo certo. Meu modelo foi gerado sem problemas (alías
foram várias tentativas até chegar a esse "sem probleas" aí!). E ao meu
ver compensou, porque estamos no meio do processo de desenvolvimento e o
projeto (cronograma) ainda comportava esse investimento extra. Não sei
se seria uma empreitada prudente se o sistemas já estivesse em produção.
Gerei o banco, coloque uns dados ,fiz uns testes e beleza tudo funcionou
"igual um côco". Ao meu ver valeu a pena!
[]'s
Edson T. Marques
Mauricio Torres Fernandes escreveu:
>Estou tentando o mesmo... Se conseguir, me avise.
>
>Mauricio.
>
>
>
>>-----Mensagem original-----
>>De: lista-bounces em firebase.com.br
>>[mailto:lista-bounces em firebase.com.br] Em nome de Edson T. Marques
>>Enviada em: sexta-feira, 21 de janeiro de 2005 14:26
>>Para: FireBase
>>Assunto: Re: RES: [firebase-br] Collate e Character Set - Mais duvidas
>>
>>Pha-Lista escreveu:
>>
>>
>>
>>>Até o momento não.
>>>
>>>Você pode criar dominios e definir o collate neles.
>>>
>>>Dica: Sempre crie Domain se você não criar o FB faz isso
>>>
>>>
>>(cria dominios com nomes sequenciais), e gerar varios
>>registros desnecessarios nas tabelas de sistema.
>>
>>
>>>
>>>
>>>
>>>
>>Hei! essa pode ser a solução para definir os meus collation
>>orders no ERWin!
>>
>>
Mais detalhes sobre a lista de discussão lista