[firebase-br] Gambiarra para Blob's

Carlos H. Cantu listas em warmboot.com.br
Dom Maio 29 18:19:28 -03 2016


Com UTF8, um caractere pode ocupar até 4 bytes.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

CeALB> Hmm... Acho que compreendi, há caracteres que ocupam dois bytes. Isso mesmo?
CeALB> Neste caso, como fazer?
CeALB> []'s

CeALB> Em 29/05/16, Christian e Ana Luiza Britto<chriseana em gmail.com> escreveu:
>> Olá,
>> A conexão com o banco usa UTF8 e o campo está configurado como  NOTE
>>        BLOB SUB_TYPE 1 SEGMENT SIZE 80, charset UTF8, Collate UTF8.
>>
>> Há algo errado?
>> []'s
>> Christian
>>
>> Em 29/05/16, Carlos H. Cantu<listas em warmboot.com.br> escreveu:
>>> Qual o charset que vc usou nesse campo na base de dados, e qual o
>>> charset que usou na conexão com o firebird?
>>>
>>> []s
>>> Carlos H. Cantu
>>> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
>>> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>>>
>>> CeALB> Olá Colegas,
>>>
>>> CeALB> Sou sociólogo e estou desenvolvendo uma aplicação para auxiliar
>>> minhas
>>> CeALB> pesquisas. Hoje não sou um programador profissional... (Embora em
>>> CeALB> outros tempos tenha trabalhado muito com Clipper) Agora estou
>>> tentando
>>> CeALB> utilizar o programa (Free Pascal 3.0 + Lazarus 1.6 + Firebird 2.5)
>>> CeALB> pela internet, com servidor remoto. Para minha infelicidade
>>> descobri
>>> CeALB> que a aplicação precisa ser reestruturada para lidar com o quadro,
>>> CeALB> ficou muito lenta, inviável. Utilizo muitos campos tipo Blob. :(
>>>
>>> CeALB> Ao assistir uma palestra do Cantú, vi que ele propõe uma gambiarra
>>> bem
>>> CeALB> interessante para diminuir o trafego de rede (roundtrips) gerado
>>> pelos
>>> CeALB> Blobs.
>>>
>>> CeALB> Select iif(octet_length(items.note) <= 2765, cast(items.note as
>>> CeALB> varchar(2765)),null) as blob_field_txt,
>>> iif(octet_length(items.note)
>>>>
>>> CeALB> 2765, items.note, null) as blob_field_blob from items;
>>>
>>> CeALB> O problema é que o código acima funciona, mas quando utilizo o
>>> varchar
>>> CeALB> (32765) ou até mesmo 12765, recebo a seguinte mensagem de erro:
>>>
>>> CeALB> Undefined name.
>>> CeALB> Dynamic SQL Error.
>>> CeALB> SQL error code = -204.
>>> CeALB> Data type unknown.
>>> CeALB> Implementation limit exceeded.
>>> CeALB> COLUMN DSQL internal.
>>>
>>> CeALB> Estou usando o IBExpert para fazer este teste.
>>> CeALB> Outra coisa que está me irritando é que a conexão com o servidor
>>> CeALB> parece estar caindo sozinha, se aplicação fica inativa por algum
>>> tempo
>>> CeALB> a conexão se perde. Sabem o que pode estar acontecendo?
>>>
>>> CeALB> Abraços,
>>> CeALB> Christian De Britto
>>>
>>> CeALB> ______________________________________________
>>> CeALB> FireBase-BR (www.firebase.com.br) - Hospedado em
>>> www.locador.com.br
>>> CeALB> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> CeALB> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> CeALB> Para consultar mensagens antigas:
>>> CeALB> 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
>>>
>>





Mais detalhes sobre a lista de discussão lista