[firebase-br] Problema de Charset em trigger/Sps

Adriano dos Santos Fernandes adrianosf em uol.com.br
Seg Set 22 11:39:06 -03 2008


Eduardo,

A "regra" é "sempre use o connection charset correto quando vc for 
criar/alterar/ler metadados".

Pßscoa é Páscoa inserida em WIN1252 (ou ISO8859-1, que é parecido) e 
visualizada sem conversão em DOS850.

Ou vc criou a trigger pelo modo gráfico do Windows ou pelo terminal do 
Linux configurado com este charset. Em ambos os casos usando NONE como 
connection charset.


Adriano


Eduardo Bahiense escreveu:
> Bom dia
> 
> Estou tendo problemas em bases restauradas de backups gerados no linux 
> (debian) e restauradas em máquinas windows (XP sp2).
> 
> Temos uma SP que gera os feriados nacionais com Páscoa, carnaval, entre 
> outros e alguma triggers auto-geradas que contêm caracteres acentuados.
> 
> O problema foi detectado ao se extrair o metadata pelo IBExpert e 
> ocorrer erro de "Can not transliterate between character sets".
> 
> Detalhes:
> 
> 1. Ambas as máquinas utilizam a versão 2.1
> 2. As bases foram migradas do 2.0 por bkp/restore
> 3. Após o restore foi rodada a rotina de corrigir metadata
> 4. Dropamos todas as triggers e sp's e recriamos, na tentativa de resolver
> 5. No windows, isso resolve (dropar e recriar)
> 6. No linux, pelo ISQL, consegue-se visualizar o metadata da SP 
> (RDB$PROCEDURE_SOURCE), porém, pelo IBWebAdmin, o metadata não é exibido.
> 7. No Windows também exibe normalmente, só que com caracteres errados 
> ('Pßscoa') e se tentar abrir pelo IBExpert ou qualquer outra ferramenta 
> adminstrativa, dá o erro citado acima.
> 8. Em ambos, a procedure executa normalmente, aplicando os caracteres 
> acentuados corretamente. Acredito que a exibição de caracter acentuado 
> trocado ocorra no windows por falha do terminal CMD do windows e não 
> pelo ISQL em si.
> 9. Tanto no windows como no linux, um SELECT * FROM RDB$PROCEDURES 
> resulta, para cada registro a mensagem:
> ==============================================================================
> RDB$PROCEDURE_BLR:
> BLOB display set to subtype 1. This BLOB: subtype = 2
> ==============================================================================
> 
> É isso. Tudo funciona normal. Nas triggers, tiramos a acentuação pois 
> era apenas um comentário "Trigger criada automaticamente, qualquer 
> alteração será sobreescrita".
> 
> O problema é extrair o metadata pelo IBExpert. Temos que lembrar de não 
> incluir a SP de Feriados, se não ele pára.
> 
> Se alguém puder dar uma luz, será bem-vinda.
> 
> 
> Abraço
> 
> 
> Eduardo
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista