[firebase-br] Troca de Character Set de um Campo mais emumSELECT

Adilson cpd em itauto.com.br
Qua Jan 23 17:59:56 -03 2013


Outra que fiz e agora tambem deu certo . foi converter com a funcao CAST
para Blob subtype 0 , que é pra tipo Binary ... e na restauracao agora deu 
certo , sem erro de Invalid BLOB ID.



----- Original Message ----- 
From: "Adilson" <cpd em itauto.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, January 23, 2013 2:06 PM
Subject: Re: [firebase-br] Troca de Character Set de um Campo mais 
emumSELECT


Olha o que tive que fazer pra parar o erro , pois mesmo trocando o tipo pra
UTF8 , ainda sim . no DELPHI ficou
dando esse erro Inválid BLOB ID

Utilizando essa rotina em Delphi pra tentar preencher do banco :

    var
     aXML    : TStringStream;
    begin
       if not livm01.QCONS1.FieldByName('XMLNFE').isnull then
        begin
         dmnfe.NFe.NotasFiscais.Clear;
         try
           aXML :=
TStringStream.Create(livm01.QCONS1.FieldByName('XMLNFE').value);
          //-- tentei ate esse abaixo mais mesmo assim tambem nao deu
          //TBlobField(LIVM01.QCONS1.Fieldbyname('XMLNFE')).SaveToStream(aXML');
           dmnfe.NFe.NotasFiscais.LoadFromStream(aXML);
         Finally
          FreeAndNil(aXML);
         end;

mais nao obtive sucesso . sempre apresentando o mesmo erro , o engraçado que
quando faço essa mesma rotina . mais para notas que eu mesmo gero , nao to
tendo este problema , estou tento
apenas esse problema para armazenar nf que vem do portal da NF-e , no caso ,
NF de terceiros . consegui resolver utilizando o CAST e convertendo o campo
Blob para Varchar , mais nao sei
se seria viavel fazer isso ..... se alguem tiver algum objecao ou ja passou
por isso . fico grato passar a experienvia aqui .


select b.data , a.id_nfs , a.codemp , a.numnf , a.codcli , a.serie ,
strlen(b.xmlnfe) ,cast(b.xmlnfe as varchar(32765)) xmlnfe
from fatnfs a , fatnfsxml b
where a.id_nfs = b.id_nfs
and   a.dtemi = '01/23/2013'
order by a.id_nfs , b.data


----- Original Message ----- 
From: "Adilson" <cpd em itauto.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, January 23, 2013 11:17 AM
Subject: Re: [firebase-br] Troca de Character Set de um Campo mais
emumSELECT


Até assim Gladiston , esse campo foi criado no banco de dados a pouco tempo
, e tambem , estou ainda em faze
de testes , ate pra vc ter uma base continuo gravando os dados da NF-e em
arquivo num diretorio do programa,
entao eu posso ate excluir o campo e crialo novamente , vou criar entao um
campo como Blob Sub type 1 , com
o Character set dele como UTF8 , pra ver se para este problema entao . pelo
que vi o Colate . nao deixa ser definido
neste tipo de Campo Blob ... somente o Character Set mesmo .

Agradesço a ajusta , e se tiver mais algo a complementar tambem agradesço .

Adilson Pazzini .

----- Original Message ----- 
From: "Gladiston Santana" <gladiston em vidy.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, January 23, 2013 10:09 AM
Subject: Re: [firebase-br] Troca de Character Set de um Campo mais
emumSELECT


Backup e restore informando o novo charset talvez seja melhor solução.
O problema disso é que todos os caracteres latin1 podem ser
transliterados para utf8, porém o inverso não é verdadeiro, ou seja,
não tem volta 100% perfeita.
Se de alguma forma você trabalha com internet, acho que é bem melhor
trabalhar com utf8 usando como collate UNICODE_CI_AI. Linguagens de
programação para web e formatos como xml, json e afins quase sempre
estão em utf8.

Eu trabalho usando Linux e usar utf8 é bem natural, na realidade, a
unica coisa que vejo que persistem em latin1 são legendas de filmes e
só.

Gladiston Santana
Departamento de TI
Grupo Vidy
Tel (11) 4787-3122 ramal 228
Rod. Régis Bittencourt 3360 - Km 272,5
Taboão da Serra - SP - CEP: 06793-000
Visite nosso site: www.vidy.com.br
Visite também : www.expolabor.com.br




Em 23 de janeiro de 2013 08:42, Adilson <cpd em itauto.com.br> escreveu:
> Essa opção então seria para o Collate , bom vou testar pra ver se tira o
> erro que to tendo
> na hora de trazer o campo pra tela , mais caso nao pare , hj estou
> utilizando pra armazenar
> o xml o tipo blob texto com o character set igual a ISO9959_1 , sera que
> seria viavel trocar
> pra UTF8 ?
>
> ----- Original Message ----- From: "Gladiston Santana"
> <gladiston em vidy.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, January 22, 2013 12:08 PM
>
> Subject: Re: [firebase-br] Troca de Character Set de um Campo mais
> emumSELECT
>
>
> Em 22 de janeiro de 2013 08:35, Adilson <cpd em itauto.com.br> escreveu:
>
>> ra que isso funcionaria para trazer somente como resuldado de um campo
>> por exemplo select campo character set utf8 from tabela ? <- Algo assim
>> ... vi q nao funciona . mais talvez exista alguma
>> maneira ... caso exista se puderem postar agradesço a todos .
>>
>
> Funciona em qualquer lugar if, select, ... desde que siga a ordem :
> CAMPO collate <collate>
> if (:pvar collate pt_BR = 'A') then...
> select campo collate pt_BR from tabela
> e assim por diante.
>
> Isso não é uma conversão de charset, é apenas a forma de tratamento usando
> um collation, se o default de um database já tem definido um collate
> default, não é necessário expressar esse desejo no select se for o mesmo
> collate.
> ______________________________________________
> 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
>
>
> -----
> Nenhum vírus encontrado nessa mensagem.
> Verificado por AVG - www.avgbrasil.com.br
> Versão: 2012.0.2221 / Banco de dados de vírus: 2639/5549 - Data de
> Lançamento: 01/21/13
>
>
>
> ______________________________________________
> 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

______________________________________________
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


-----
Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2012.0.2221 / Banco de dados de vírus: 2639/5551 - Data de
Lançamento: 01/22/13



______________________________________________
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


-----
Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2012.0.2221 / Banco de dados de vírus: 2639/5551 - Data de
Lançamento: 01/22/13



______________________________________________
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


-----
Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2012.0.2221 / Banco de dados de vírus: 2639/5551 - Data de 
Lançamento: 01/22/13






Mais detalhes sobre a lista de discussão lista