Incluir uma imagem de campo BLOB numa região PL/SQL Dynamic Content

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 235
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Bom dia Pessoal, estou com um problemão no APEX - versão 20.2.0.00.20.
O meu banco está na OCI.
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0

Alguém tem alguma dica pra resolver meus problemas?

Preciso criar uma página com uma região PL/SQL Dynamic Content.

A minha primeira dificuldade é que preciso "mostrar" imagens que estão aremazenadas no banco, campo BLOB.
A segunda é que preciso exportar o resultado num arquivo PDF.

Criei a seguinte Query na região:

declare
cursor c is
select distinct n.id_nego, n.id_indu , n.dt_espa_inic, n.dt_espa_fina,
c.nm_indu, t.ds_tipo_espa, e.id_loja,
l.cd_loja_cliente, l.nm_loja, e.id_grupo
from vw_negociacao_espaco n, cliente_industria c, tipo_espaco_loja t,
negociacao_produto_espaco e , loja_cliente_varejo l
where e.id_loja = l.id_loja
and e.id_nego = n.id_nego
and n.cd_tipo_espa = t.cd_tipo_espa
and n.id_indu = c.id_indu
and n.id_nego = 2483;
c_r c%rowtype;
--
cursor c1 is
select distinct n.id_grupo, p.cd_sku, p.ds_sku, i.qt_produto
from negociacao_produto_espaco n, industria_produto_Espaco i, industria_produto p
where i.id_industria_produto = p.id_industria_produto
and n.id_grupo = i.id_grupo
and n.id_grupo = c_r.id_grupo
and n.id_nego = c_r.id_nego
and n.id_loja = c_r.id_loja
order by p.cd_sku, p.ds_sku;
c1_r c1%rowtype;
--
v_contador number := 0;
--
/*
Esse é o cursor que vai buscar a imagem
*/

cursor c2 is
select sys.dbms_lob.getlength(pict_logo)
pict_logo,
mime_type, filename, char_set, last_update
from rede_cliente_varejo
where id_rede = 360;
c2_r c2%rowtype;
--
begin
--
htp.p('<hr />');
open c;
loop
fetch c into c_r;
exit when c%notfound;
htp.p('<h2>Negociação: ' ||lpad(c_r.id_nego,8,'0') ||'</h2>');
htp.p('<h2>Duração: ' ||to_char(c_r.dt_espa_inic,'dd/mm/yyyy')||' a '||to_char(c_r.dt_espa_fina,'dd/mm/yyyy')||'</h2>');
htp.p('<h2>Indústria: ' ||c_r.nm_indu||'</h2>');
htp.p('<h2>Alavanca: ' ||c_r.ds_tipo_espa||'</h2>');
--
htp.p('<h2>Loja: ' ||c_r.cd_loja_cliente||' '||c_r.nm_loja||'</h2>');
--

/*
é aqui que a coisa não anda
*/


/*
open c2;
fetch c2 into c2_r;
if c2%found then
htp.p('<span><b>Imagem Atual:</b></span><br>
<img src="data:image/{{ '||c2_r.mime_type||' }};base64,{{ '||c2_r.pict_logo||' }}>');
end if;
close c2;
*/
--
htp.p('<table border="1">');
htp.p('<tr>');
htp.p('<thead>');
htp.p('<tr><th colspan="11" align="left">MIX</th></tr>');
htp.p('</thead>');
--
htp.p('<td width=50 align="center"># </td>');
htp.p('<td width=100>Cód SKU </td>');
htp.p('<td width=400>Produto </td>');
htp.p('<td width=100>Quantidade</td>');
htp.p('</tr>');
--
v_contador := 0;
open c1;
loop
fetch c1 into c1_r;
exit when c1%notfound;
v_contador := v_contador + 1;
--
htp.p('<tr>');
htp.p('<td align="right">' ||v_contador||'</td>');
htp.p('<td>' ||c1_r.cd_sku ||'</td>');
htp.p('<td>' ||c1_r.ds_sku ||' '||'</td>');
htp.p('<td align="right">' ||c1_r.qt_produto||'</td>');
htp.p('</tr>');
end loop;
close c1;
htp.p('</table>');
htp.p('<hr />');
end loop;
close c;
--
end;
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 217
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Aobaaa...

Man... não manjo nada de APEX (Até precisaria aprender...), mas dá algum erro ou algo que possa ajudar a entender melhor o problema ???
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 235
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Oi tiago_pimenta,
Não da nenhum erro, só não traz a imagem...

Valeu
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 217
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Puts... ai complicou hein...

Essa eu vou ter que deixar para os universitários então...
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 235
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Beleza cara, valeu pelo apoio
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante