como faço para importar um arquivo pdf para um forms?

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
MARISTELAFALCO
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Seg, 17 Mar 2008 2:31 pm
Localização: MARINGA-PR

sim esta.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Maristela,

Esse bloco possui doctos Blob inseridos na base?
você dá duplo-clique e nada?
Caso não consiga, dá um alô que posto um exemplo que tenho aqui na máquina ok?
MARISTELAFALCO
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Seg, 17 Mar 2008 2:31 pm
Localização: MARINGA-PR

SIM ESTA ...
O QUE DEVERIA APARECER NO CAMPO?
MARISTELAFALCO
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Seg, 17 Mar 2008 2:31 pm
Localização: MARINGA-PR

AQUI APARECE EM BRANCO ...
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

No caso, se você tem um PDF guardado neste campo Blob, era pra ele abrir, automaticamente no Adobe.

Vou procurar um exemplo que eu tinha e, posto aqui ok?
MARISTELAFALCO
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Seg, 17 Mar 2008 2:31 pm
Localização: MARINGA-PR

ok, obrigado.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Maristela,

Este exemplo em anexo, trabalha com a tabela EMP e, uma filha dela que criei aqui, senão me engano, EMP_DOCTO.

Crie esta segunda tabela, deve ter uma sequencia, o código do empregado e, o docto (blob).

Aqui funciona perfeitamente, você pode anexar qualquer tipo de arquivo no Banco e, recuperá-lo através do forms.

Download FMB

Caso não consiga montar, dá um alo que vejo se tenho os scripts de criação, tudo bem?
MARISTELAFALCO
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Seg, 17 Mar 2008 2:31 pm
Localização: MARINGA-PR

Olá Trevisolli,

Obrigado pelo exemplo, funciona certinho.
Ele pega um arquivo do sistema operacional e joga no campo blob do forms , o campo aparece populado e o double click funciona abrindo um editor para impressão, e se salvar grava na base certinho.
O que não estou conseguindo fazer é resgatar da base, quando consulto o registro o campo do bloco não aparece com os dados, apesar de ter sido gravado na base.
Eu preciso pegar o conteúdo da coluna blob na base e jogar no bloco forms, executo a consulta mas a coluna não aparece com os "riscos" como quando pego do sistema operacional, mesmo no seu exemplo da emp.
Tem alguma instrução específica para pegar da base e jogar no bloco ??? (tipo essas forms_ole )

Att.

Maristela
rsjahnke
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Ter, 11 Set 2007 10:16 am
Localização: Cachoeirinha/RS
Contato:
Rogerio Jahnke

Maristela, boa tarde, conseguiu resolver o problema de recuperar as imagens gravadas trazendo na query para o forms? estou com mesmo problema que você, se tu conseguiu resolver coloca ai a solução,se tem alguma trigger ou algo assim que tenha que fazer no pre-query para trazer a imagem.


Obrigado
joaogarcia
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 91
Registrado em: Ter, 20 Mar 2007 7:19 pm
Localização: Campinas - SP
Contato:

Acho que pdf você só vai conseguir baixar em algum diretório...
Segue um script que faz isso... talvez te ajude...

Selecionar tudo


DECLARE
  --  
  vBlob     BLOB;
  vTamanho  INTEGER;
  vFile     utl_file.file_type;
  vAmount   BINARY_INTEGER := 32767;
  vPosicao  INTEGER := 1;
  vBuffer   RAW(32767);
  vArquivo  VARCHAR2(30);
  --
BEGIN
  --
  SELECT documento
    INTO vBlob
    FROM doc_ass_dig
   WHERE id_doc_ass = 589
     AND status     = 'L'
     AND id_tp_doc  = 2;
  --
  vTamanho := dbms_lob.getlength(vBlob);
  vArquivo := 'teste.pdf';
  vFile := utl_file.fopen( 'coloque aqui o diretório destino', 
                           vArquivo, 
                           'w', 
                           32767 );
  --
  WHILE vPosicao < vTamanho LOOP
    --
    IF vPosicao + vAmount > vTamanho THEN
      vAmount := (vTamanho + 1) - vPosicao;
    END IF;
    --
    dbms_lob.read(vBlob, vAmount, vPosicao, vBuffer);
    utl_file.put_raw(vFile, vBuffer, TRUE);
    vPosicao := vPosicao + vAmount;
    --
  END LOOP;
  --
  utl_file.fclose(vFile);
  --
END;
andreavila
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Qua, 25 Jun 2008 2:16 pm
Localização: Porto Alegre

Estou tentando baixar o pdf mas dá um erro "ERROR: Abnormal termination, Error Code: C0000005 ACCESS_VIOLATION" quando vai executar o "dbms_lob".
Avatar do usuário
NightSpy
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 49
Registrado em: Ter, 09 Set 2008 4:18 pm
Localização: SP

Desculpe desenterrar este tópico, porem minha dúvida tem a ver com o assunto.

Quero abrir o PDF via forms.

Não tenho ele em um campo Blob, porem tenho ele em disco, tenho o caminho e nome dele em uma tabela. Consigo atraves desse OLE Container abri-lo.

Consegui de outra forma, sem usar o OLE e passando o caminho do executavel do reader... porem gostaria de uma forma onde só passasse o nome do PDF e o "windows" se virasse, até porque o "danado" sabe que o que abre PDF é o acrobat reader.

Obrigado desde já.
Avatar do usuário
NightSpy
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 49
Registrado em: Ter, 09 Set 2008 4:18 pm
Localização: SP

Tinha conseguido de outra forma(DDE.app_begin), agora lembrei do famoso HOST ¬¬

Consegui, porem ao usar o HOST com o atributo no_screen, ao fechar o pdf, trava o runtime que o chamou....

Se chamo sem este atributo, tenho q fechar o prompt para voltar a minha aplicação(runtime).. funciona, porem não queria mostrar o prompt.

alguém sabe o que acontece?

Obrigado desde já.
e_muniz
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Qua, 01 Jul 2009 10:35 am
Localização: Belo Horizonte / MG

Pessoal, me desculpem por reabrir um tópico antigo, mas a necessidade fala mais alto.

O exemplo gentilmente fornecido pelo colega "Trevisolli" funcionou que é uma beleza, fiz um módulo de importação de diversos aquivos para minha base. (de todo o tipo). Porém, agora, eu preciso fazer o sentido inverso do exemplo fornecido. (ou seja) pegar um arquivo que está num campo tipo blob, e gravá-lo em um determinada pasta. O utl_file grava certinho, mas no servidor, e eu preciso gravar na máquina "cliente" onde o forms estará rodando...

Alguém (por favor) consegue me ajudar:? :?

At.

Ernandes
Avatar do usuário
ecio
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Ter, 31 Jul 2012 1:00 am
Localização: Salvador-BA
"É o grau de comprometimento que determina o sucesso e não a quantidade de seguidores."

Olá pessoal,

e então, alguém conseguiu gravar na máquina "cliente" onde o forms estará rodando...
Responder
  • Informação
  • Quem está online

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