Carregar imagem do campo BLOB do Oracle

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
diegorp
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 49
Registrado em: Seg, 23 Mar 2009 10:44 am
Localização: Sapiranga - RS

Boa Tarde, eu tenho uma tabela no banco Oracle XE com um campo BLOB onde eu gravo uma imagem, até ai tudo certo.... o problema agora é o Forms carregar essa imagem na tela, li vários tópicos que falam sobre BLOB mas não entendi muito bem, depois também preciso carregar essa imagem em um relatório do Reports, preciso de ajuda pra saber quais códigos eu devo usar pra ler esse campo BLOB e mostrar na tela a imagem.

Uso Forms 6i
Banco Oracle XE
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Ola diegorp,

Eu não sou desenvolvedor FORMS, mas como ninguém atualizou este tópico, eu fiz algumas pesquisas em foruns sobre este tema.

O tipo BLOB (BINARY LARGE OBJECT) é um campo que permite armazenar informações de diferentes tipo, como imagens, vídeos, áudios , documentos (word, excel, powerpoint) entre outras coisas. Ele permite armazenar dados até 4GB (oracle 8i), 8T (oracle 9i/10g) ou até 128 T(oracle 11G).

Encontrei alguns links interessantes em inglês que explicam como importar e salvar no banco imagens em campos BLOB via FORMS.

http://www.orafaq.com/forum/t/51889/67467/
http://www.orafaq.com/forum/m/137074/67 ... msg_137074
http://www.orafaq.com/forum/m/136899/67 ... msg_136899
http://www.orafaq.com/forum/m/136418/67 ... msg_136418
http://www.orafaq.com/forum/m/163347/67693/#msg_163347

Apesar de estarem em inglês, eles apresentam vários códigos nos anexos (scripts PL/SQL e até FMBs).

Também tem estes links em português:

http://profissionaloracle.com.br/blogs/ ... -forms-6i/
http://glufke.net/oracle/viewtopic.php?p=5099
http://manoel-oliveira.blogspot.com.br/ ... racle.html

Por favor, continue a postar aquí se estas informações não lhe ajudarem.

Abraços,

Sergio Coutinho
AlexTR
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 48
Registrado em: Seg, 25 Jun 2012 3:30 pm

Bom aproveitando o topico que é sobre Blobs.
Bom já vem um tempo que to querendo fazer isso mais não sei como, não tenho a minima noção.
Quero fazer o seguinte(isso tem a ver com forms tambem): quando o usuario clickar pro exemplo em um botão ele ira abrir o MS Word(microsoft word) e esse arquivo poderá ser salvo tanto dentro do banco ou então só gerenciar para uma pasta, não tenho a minima noção como faço isso alguém pode me ajudar?
arthae
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 52
Registrado em: Seg, 09 Mai 2011 1:13 pm
Localização: Porto Alegre - RS
GIVE ME COFFEE AND NO ONE GETS HURT!

Alex, da uma olhada no pacote OLE2.
Aqui no fórum tem tópicos sobre isso também!
schnu
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 110
Registrado em: Ter, 24 Mai 2005 9:16 pm
Localização: Dongguan - Guangdong - China
Deus criou os loucos para confundir os sábios

Diegorp

No forms você vai adicionar a tabela e a coluna BLOB você seta para ser imagem, sendo um DATABASE ITEM = YES

Dai eu fiz o seguinte, criei um botão onde vai abrir uma janela para poder escolher o arquivo que deseja gravar dentro dessa coluna

Selecionar tudo

declare
	--
 photo_filename VARCHAR2(254); 
 --
begin
 --
 :System.Message_Level := '25'; 
 --
 photo_filename := Get_file_name( null, null, 'Image File (*.GIF; *.JPG)|*.GIF; *.JPG|', null, open_file, true );
 --
 read_image_file(photo_filename, 'JFIF', 'bloco.foto');
 --
 if not form_success then
  -- Mensagem de erro
	 msg_alert('format of the invalid image','E',false);
 end if;
 --
 :system.message_level := 0;
 --
end; 

E dai é so fazer uma consulta normal que irá apresentar a foto que foi salva !!
Valeriar
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Qui, 06 Fev 2014 10:09 am

Gente, eu inclui o campo tipo Image no forms, mas na hora de consultar dá esse tipo de erro

Selecionar tudo

ORA-02303: cannot drop or replace a type with type or table dependents
O forms que eu estou usando Forms 32 bits v 5.0.6.23
Eu percebi que as consultas que eu inseri imagem pelo forms 6, não dá esse erro, mas também não recupera a imagem.
Vocês sabem como eu posso acertar isso?
Obrigada!
schnu
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 110
Registrado em: Ter, 24 Mai 2005 9:16 pm
Localização: Dongguan - Guangdong - China
Deus criou os loucos para confundir os sábios

Talvez seja a sua versão mesmo. No que eu fiz usei a versão Version 6.0.8.26.0 e nunca tive esse problema.

O tipo do campo está como BLOB ??
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes