Re: [firebase-br] Erro na migração para do 2.5 para o 5
Éder Monteiro do Nascimento via lista <[email protected]> Tue, 6 Aug 2024 09:25:48 -0300
| Newsgroups | gmane.comp.db.firebase.portuguese |
|---|---|
| Message-ID | <CADEtvr_Lv+43oKk4epp6wuKf_GbO74+4Z7s2JyWTzT9_U4jQLg@mail.gmail.com> |
Muito obrigado pelo retorno. Já setamos o charset na conexão. Mas fazemos por meio de um framework, Vou passar isso para o responsável para verificar se pode ser algo na montagem da conexão. Muito obrigado. *Éder Monteiro do Nascimento* Analista de Sistemas Full Stack Fator Sistemas & Consultoria e-mail: *[email protected] <[email protected]>* http://fatorsistemas.com.br Em ter., 6 de ago. de 2024 às 09:05, Carlos H. Cantu via lista < [email protected]> escreveu: > Fiz um teste aqui e só consegui reproduzir o problema mencionado por você > quando > eu conecto na base sem definir um charset para a conexão, por exemplo, no > isql, > conectando sem falar que charset quero usar: > > isql employee > SQL> set sqlda_display on; > SQL> select lpad('123',5,'0') from rdb$database; > > INPUT message field count: 0 > > OUTPUT message field count: 1 > 01: sqltype: 448 VARYING scale: 0 subtype: 0 len: 5 charset: 0 NONE <---- > : name: LPAD alias: LPAD > : table: owner: > > LPAD > ====== > 00123 > > > Conectando com o charset ISO8859_1: > > > isql -ch ISO8859_1 employee > Database: employee, User: SYSDBA > SQL> set sqlda_display on; > SQL> select lpad('123',5,'0') from rdb$database; > > INPUT message field count: 0 > > OUTPUT message field count: 1 > 01: sqltype: 448 VARYING scale: 0 subtype: 0 len: 5 charset: 21 ISO8859_1 > <---- > : name: LPAD alias: LPAD > : table: owner: > > LPAD > ====== > 00123 > > > Ou seja, aparentemente você não está especificando o charset da sua > conexão, > fazendo com que a função retorne usando o charset NONE. > > []s > Carlos H. Cantu > eBook Guia de Migração para o FB 5 - www.firebase.com.br/guiafb5.php > www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br > > ÉMdNvl> Bom dia. > ÉMdNvl> Estamos realizando a migração de um sistema do 2.5 para o 5. > ÉMdNvl> Fizemos os procedimentos orientados pelo mestre Cantu, e antes de > migrar, > ÉMdNvl> já fizemos diversas correções que poderiam gerar problemas no 5. > ÉMdNvl> Contudo fui pego num ponto que não estou sabendo como buscar a > solução no > ÉMdNvl> google por não saber exatamente o que procurar. > > ÉMdNvl> A situação é que no 2.5 usamos muito (muito mesmo) o seguinte > comando. > ÉMdNvl> LPAD(ID_MES,2,'0') para completar o campo com '0' à esquerda, e ele > ÉMdNvl> funciona perfeitamente. O campo ID_MES é um BIG_INT > ÉMdNvl> No fire 5, ele continua funcionando, contudo, gera um problema. > > ÉMdNvl> 2.5 LPAD(ID_MES,2,'0') = '01' charset *ISO8859_1 *collation PT_BR > ÉMdNvl> 5 LPAD(ID_MES,2,'0') = '01' charset *None *collation PT_BR > ÉMdNvl> O problema, nosso sistema trabalha todo em Charset ISO8859_1 > Collation > ÉMdNvl> PT_BR, e temos diversos lugares, que a comparação é busca é por > esse campo. > ÉMdNvl> Só que aí sobe o erro: > > ÉMdNvl> Erro de collation PT_br For character set none > > ÉMdNvl> Por estar comparando entre charset diferentes. > ÉMdNvl> Já iniciei o *ajuste* fazendo o processo LPAD(CAST(ID_MES AS > ÉMdNvl> VARCHAR(2)),2,'0'), isso retorna Charset ISO8859_1. > ÉMdNvl> Contudo, temos algumas centenas de consultas, relatórios, e outras > coisas > ÉMdNvl> mais, que essa situação está impactando. Atrasando nossa migração. > ÉMdNvl> Tem algum lugar que possa de configurar para que ele entenda isso > como > ÉMdNvl> antes? > > > > > > ÉMdNvl> *Éder Monteiro do Nascimento* > > ÉMdNvl> Analista de Sistemas Full Stack > > ÉMdNvl> Fator Sistemas & Consultoria > > ÉMdNvl> e-mail: *[email protected] <[email protected]>* > > ÉMdNvl> http://fatorsistemas.com.br > ÉMdNvl> ______________________________________________ > ÉMdNvl> FireBase-BR (www.firebase.com.br) - Hospedado em > www.locador.com.br > ÉMdNvl> Para saber como gerenciar/excluir seu cadastro na lista, use: > ÉMdNvl> http://www.firebase.com.br/fb/artigo.php?id=1107 > ÉMdNvl> Para consultar mensagens antigas: > http://www.firebase.com.br/pesquisa_lista.html > > > ______________________________________________ > 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://www.firebase.com.br/pesquisa_lista.html > ______________________________________________ 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://www.firebase.com.br/pesquisa_lista.html