Fórum FireBird #49420
19/02/2005
0
Me aconselharam a cria o banco com [b:f0dfcca54c]CHARACTER SET Win1252[/b:f0dfcca54c]e [b:f0dfcca54c]COLLATE INTL850[/b:f0dfcca54c], pois funcionaria blz com o português, maisuculo e minusculo, acentos ....
Qaundo fui criar os indices do banco me deparei com o seguinte erro
ISC ERROR CODE:335544351 ISC ERROR MESSAGE: unsuccessful metadata update key size too big for index I_CLIENTE_NOME
Fui pesquisar sobre e olha que encontrei:
Queria saber se isso é verdade?
Queria saber qual vocês usam, e quais limitações?
Sistemald
Curtir tópico
+ 0Posts
20/02/2005
Gandalf.nho
ISC ERROR CODE:335544351 ISC ERROR MESSAGE: unsuccessful metadata update key size too big for index I_CLIENTE_NOME
Queria saber se isso é verdade?
Queria saber qual vocês usam, e quais limitações?[/quote:ae4a87249d]
É verdade sim, se você quiser usar esse CHARACTER SET/COLLATE vai ter que ficar limitado a 84 caracteres em campos que serão usados para índices. Embora haja outra combinação CHARACTER SET/COLLATE válida para o português (e que provavelmente tb é limitada a 84 caracteres), já foi testado que a melhor combinação é realmente usar CHARACTER SET WIN1252 e COLLATE PXW_INTL850
Gostei + 0
20/02/2005
Afarias
Mas, tratando do problema (que persiste ainda com ISO8859_1/PT_PT) as soluções são 2 basicamente:
1- definir apenas o charset na coluna, e não o collate. o collate pode ser indicado na hora de fazer um order by por exemplo, nestes casos vc tem ai um limite de acretido 240 chars.
2- criar campos de busca pequenos (seguindo o limite de 84 chars) visto q, não faz sentido de qualquer forma, ter campos de busca maiores q isso.
T+
Gostei + 0
20/02/2005
Gandalf.nho
Gostei + 0
20/02/2005
Afarias
...enquanto o autor do artigo viu um ´problema´ com o espaço, eu vi um problema com o fato de letras acentuadas estarem na frente de letras sem acento, e mais ainda, no fato de não haver ao q parece precendência de minúsculas sobre maiúsculas... acho isso um ´problema´
:D
T+
Gostei + 0
24/02/2005
Cabelo
por favor estou com problemas exatamente sobre isso..
Tenho uma PK que deve conter 6 campos..
aí dá este mesmo erro..
como faço pra resolver.. sabendo que a soma dos campos é de 75 chars
agradeço antecipadamente..
Gostei + 0
24/02/2005
Afarias
Melhore seu modelo de dados. Uma PK com 6 campos demonstra uma poble modeladem.
bom, mas...
veja q o tamanho do campo varchar é de 1byte por caracter (pelo menos, mas depende do char set e collate, isso pode ser bem maior) + 2 bytes.
se vc está usando campos varchar para conter apenas números (códigos numéricos) poderia mudar esses campos para INTEGER.
vc pode tb criar os campos com o char set mas não definir o COLLATE ... isso reduz muito o tamanho necessário para a construção da chave.
T+
Gostei + 0
24/02/2005
Cabelo
esta é uma tabela que armazena somente os códigos de 6 outras tabelas.. por isso tenho que limitar o usuário a não inserir um registro duplicado.. por isso as 6 chaves..
Eu não uso campos varchar.. uso campos char.. e não é numérico.. são campos char.. com o código string..
dentre esses tem um campo Date..
se eu tirar o Collate, como farei para usá-lo novamente..?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)