[firebase-br] RES: Gravar imagem em BD

Marcelo Sá - CFP Castanhal marcelo em pa.senac.br
Ter Out 10 20:00:23 -03 2006


Nelson,

Valeu mesmo pelas dicas, acho q serão úteis a todos. Quanto a não utilizar
TBitmap, deixa explicar melhor a situação.

Estou desenvolvendo um sistema no qual o cliente quer armazenar via Scanner
os documentos dos clientes dele, ao invés de armazenar papel. Encontrei um
componente pra Delphi TDelphiTwain que não é estupendo mas serve as minhas
necessidades, o que acontece é que a imagem recebida do Scanner vem em forma
de TBitmap, então a única solução viável que vejo é passar esse TBitmap pra
Stream e depois para JPG, por fim armazenar dentro do Blob. Gostaria da
opinião de vcs. Agradeço novamente a atenção.

Marcelo.

----- Original Message ----- 
From: <sicnemelpor em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, October 09, 2006 3:46 PM
Subject: Re: [firebase-br] RES: Gravar imagem em BD


O pagesize do meu banco é 4096. As imagens são armazenadas diretamente em
binário, cópia dos JPG que são lidos do arquivo. Não uso nesta aplicação
TBitmap, por ser WEB e em FreePascal, não em Delphi. O aplicativo lê o
campo BLOB e manda direto pra WEB (via HTTP, tudo em pascal).
Uma época (faz tempo) fiz um aplicativo que armazenava imagens com Delphi
em Interbase, mas tive que "xunxar" os fontes do Delphi, pois ele só
armazenava em bitmap. Eu modifiquei pra ele armazenar um cabeçalho antes
pra identificar o tipo de imagem, daí o TBitmap sabia se era bitmap, jpeg,
wmf, etc e lia sem problemas.

O que sugiro é gravar a imagem jpeg no BLOB sem passar pelo TBitmap, isto
é, ler/gravar via stream.

[]s
Nelson Sicuro

> Nelson,
>
> E quais são as características do teu banco, como por exemplo PageSize? e
> como vc armazena as imagens no banco (código) ? Pra esse sistema q esta
> em
> desenvolvimento, a imagem inicialmente é armazenada em um TBitmap, daí
> gostaria de armazenar no campo Blob, mas se for utilizar direto, a imagem
> ocupa muito espaço, por isso peço dicas. Gostaria de passar a imagem de
> um
> TBitmap pra TJPEG e depois armazená-la no banco mas às vezes ocorre erro.
>
> Novamente agradeço a atenção de todos.
>
> Marcelo Sá.
> ----- Original Message -----
> From: <sicnemelpor em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, October 09, 2006 1:42 PM
> Subject: Re: [firebase-br] RES: Gravar imagem em BD
>
>
> Eu uso um banco de imagens com média de 90Kb em BLOB no Firebird 1.5.3
> (Linux) acessando via aplicativo em FreePascal usando FBLib, é muito
> rápido.
> São 23000 imagens, o retorno é praticamente instantâneo (para 1 imagem).
> Mesmo a carga das imagens foi rápida. O aplicativo é WEB em uma rede
> interna. O banco hoje tem 2GB de tamanho.
>
> []s
> Nelson Sicuro
>
>> Olá!
>>
>> Na verdade não vou falar muito bem a respeito...
>> Usava em um sistema simples a inserção de imagens no BD.
>> Com apenas 3.200 registros o banco tinha mais de 4Gb e  na hora de
>> executar
>> uma busca nesta tabela era lento demais...
>> Troquei pela alternativa de gerar um Stream e gravar em JPG e associar o
>> arquivo com o cadastro e os relatórios.
>> O banco que tinha 4 Gb ficou com pouco mais de 4Mb...
>> Não recomendo para quem vai ter muitos registros na tabela.
>> []s,
>> Ricardo
>>
>> -----Mensagem original-----
>> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
>> Em
>> nome de Marcelo Sá - CFP Castanhal
>> Enviada em: segunda-feira, 9 de outubro de 2006 12:19
>> Para: FireBase
>> Assunto: [firebase-br] Gravar imagem em BD
>>
>> Senhores,
>>
>> Sei que já ocorreram diversas discursões a respeito de gravar imagens em
>> BD
>> Firebird, mas gostaria de opiniões de quem utiliza essa abordagem, como
>
>> por
>> exemplo qual PageSize utilizar. Na minha aplicação há uma tabela com um
>> campo código inteiro e 5 campos Blob.
>>
>> Agradeço desde já pela atenção.
>>
>> Grande Abraço,
>>
>> Marcelo Sá.
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
>> editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista