[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