DECLARE
t_blob BLOB;
t_len NUMBER;
t_file_name VARCHAR2(100);
t_output UTL_FILE.file_type;
t_TotalSize number;
t_position number := 1;
t_chucklen NUMBER := 4096;
t_chuck raw(4096);
t_remain number;
BEGIN
-- Get length of blob
SELECT DBMS_LOB.getlength(IMAGEM_DESC_PROD),IMAGEM || 'Arroz Koblenz.jpg'
INTO t_TotalSize, t_file_name FROM TT_IAMGENS_PRODUTOS WHERE CD_PRODUTO ='35905005';
t_remain := t_TotalSize;
-- The directory TEMPDIR should exist before executing
t_output := UTL_FILE.fopen ('DIR_IMAGENS_PROD', t_file_name, 'wb', 32760);
-- Get BLOB
SELECT IMAGEM_DESC_PROD INTO t_blob FROM TT_IAMGENS_PRODUTOS WHERE CD_PRODUTO ='35905005';
-- Retrieving BLOB
WHILE t_position < t_TotalSize
LOOP
DBMS_LOB.READ (t_blob, t_chucklen, t_position, t_chuck);
UTL_FILE.put_raw (t_output, t_chuck);
UTL_FILE.fflush (t_output);
t_position := t_position + t_chucklen;
t_remain := t_remain - t_chucklen;
IF t_remain < 4096
THEN
t_chucklen := t_remain;
END IF;
END LOOP;
END;
Recuperando imagem jpeg
-
- Rank: Programador Sênior
- Mensagens: 46
- Registrado em: Sex, 23 Nov 2007 9:26 am
- Localização: porto velho -ro
oi amigo, eu consegui na rede essa dica e adaptey e esta funcionado no meu banco, só que eu não entendi , pra onde e que vai o arquivo que foi recuperado pra poder visualizar no delphi.
-
- Rank: Programador Júnior
- Mensagens: 25
- Registrado em: Qui, 21 Jan 2010 4:40 pm
- Localização: Porto Alegre - RS
Tente fazer deste jeito:
http://glufke.net/oracle/viewtopic.php?t=959
http://glufke.net/oracle/viewtopic.php?t=959
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes