[firebase-br] CHARSET e COLLATE (dúvidas que não encontrei na lista)
Davi Eduardo Borges Wall
davi.wall em mult.com.br
Sex Mar 9 15:49:40 -03 2007
Olá pessoal, tenho 2 dúvidas e vou colocá-las em partes.
Quando crio uma base nova utilizando o FireBird (neste caso através do IBExpert)
Há uma opção CHARSET. Ok, até aí tudo bem! É o CHARSET que esta base utilizará após criada.
Agora, na conexão com essa base (ou quando registro um database no IBExpert) existe novamente a opção do CHARSET.
Por quê? Qual a influência deste CHARSET de conexão?
Resultado de alguns testes feitos:
1- Criei uma base nova utilizando CHARSET WIN1252
2- Conectei na base utilizando CHARSET WIN1252
3- Criei um campo VARCHAR(30) sem especificar CHARSET e COLLATE
4- Resultado: O campo foi criado com CHARSET WIN1252 e COLLATE WIN1252
Outro teste ainda na mesma base criada acima
1- Alterei o CHARSET de conexão para NONE
2- Criei outro campo na mesma tabela
3- Resultado: O campo foi criado com CHARSET WIN1252 e COLLATE WIN1252
Em outro teste ainda, utilizei um CHARSET de conexão qualquer aleatório. O Resultado foi o mesmo que o CHARTSET NONE.
Em meus testes cheguei a conclusão que o CHARSET de conexão não sobrepõem o CHARSET de criação da base. (pelo menos para criação de campos)
--------------------------------------------------------------------------------------------------------------------
Outra dúvida,
Há a possibilidade de configurar um COLLATE default para criação de qualquer campo na minha base?
Por exemplo:
- Eu tenho a opção de CHARSET na criação da base. Essa opção é propagada para todas as criações de campos onde eu não
especifico o CHARSET de criação de campo. OK! Isso hoje está funcionando legal!
O que eu precisaria é que fosse propagado para todas as criações do banco o Collate WIN_PTBR.
Pois como mencionei acima, quando na criação da base utilizo CHARSET = WIN1252, o COLLATE propagado será WIN1252
que não seria o COLLATE desejado.
No SQLSERVER consigo configurar isso por DATABASE, então todos os campos criados já herdam essa configuração.
Obrigado.
Davi Wall.
Mais detalhes sobre a lista de discussão lista