Fotos

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
marnufer
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 13 Mar 2007 11:30 am
Localização: são leopoldo

Ola, gostaria de saber como criar um procedure que busque as fotos armazenadas em uma tabela em um campo long raw. Tentei criar uma procedure utilizando o write_file_name porem acusa o erro:

Selecionar tudo

  PLS-00201: identifier 'READ_IMAGE_FILE' must be declared
Tenho o banco Oracle9i Release 9.2.0.4.0
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

Brother, tem como colocar o corpo da proc aqui, ou, pelo menos o trecho do erro?
marnufer
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 13 Mar 2007 11:30 am
Localização: são leopoldo

Ola Trevisolli, segue abaixo a "obra" com problemas.

Selecionar tudo

  1  CREATE OR REPLACE  PROCEDURE MARCOS IS
  2    photo_filename VARCHAR2(80);
  3     CURSOR C1 IS
  4      SELECT Cd_CLIENTE
  5     FROM CLIENTES A
  6      where dt_cadastramento < '01-JAN-2002';
  7  BEGIN
  8     FOR A IN C1 LOOP
  9       READ_IMAGE_FILE (photo_filename, 'BMP', 'hw_clientes.lr_fotografia');
 10     END LOOP;
 11* END;
 12  /
Advertência: Procedimento criado com erros de compilação.

Selecionar tudo

SQL> sho errors
Erros para PROCEDURE MARCOS:

LINE/COL ERROR
-------- -----------------------------------------------------------------
9/6      PLS-00201: o identificador 'READ_IMAGE_FILE' deve ser declarado
9/6      PL/SQL: Statement ignored
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

Brother, vou verificar o erro e, te retorno assim que possível.

Só uma questão que você poderia ir vendo:

READ_IMAGE_FILE, não sei se existe um pacote do Oracle ou, é somente do FORMS.

Você poderia fazer um teste, criar esta proc dentro do forms.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Sim, o READ_IMAGE_FILE é um comando do FORMS, que pega um arquivo de imagem e joga num item no bloco.

Para carregar direto em PL/SQL no banco, você deve usar um campo BLOB (esses long_raw, long, etc só existem ainda para fins de manter a compatibilidade das versões antigas. Hoje, devemos usar CLOB para armazenar TEXTO e BLOB para armazenar binários).

Temos um exemplo aqui:
http://glufke.net/oracle/viewtopic.php?t=98

Dá uma procurada no forum sobre BLOB ou DBMS_LOB. Nessa DBMS tem tudo que você precisa pra manipular esse tipo de arquivos.

LEMBRE-SE que esses arquivos de imagem devem estar no servidor pra poder ser carregados dessa forma.! :-o
marnufer
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 13 Mar 2007 11:30 am
Localização: são leopoldo

beleza dr_gori

mas então eu teria incialmente que converter esta minha tabela, alterando este campo para blob, podendo então utilizar o pacote. Já abusando, teria algum post com estas instruções (para migrar).
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pra migrar, você faz um

Selecionar tudo

ALTER TABLE sua_tabela ADD (CAMPO_NOVO BLOB);
Isso vai adicionar um novo campo na tabela.

Pra copiar, você olha nesse post e usa TO_LOB


:-o
marnufer
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 13 Mar 2007 11:30 am
Localização: são leopoldo

Sem palavras !!

Irei fazer isto agora mesmo.

Obrigado dr_gori e Trevisolli
Responder
  • Informação
  • Quem está online

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