GARANTIR DESCONTO

Fórum Trabalhar com BFile #28552

21/07/2006

0

Ola, estou pertubando de novo, gostaria de que me ajudacem nesta questão.
Não consigo abrir o arquivo no oracle,ele da erro na hora do loadfromfile,
com o seguinte erro

ORA-06502 PL/SQL:numeric or value erro:invalid LOB
locatot specified: ORA-22275
ORA-06512 at SYS.DBMS_LOB,LINE 646

Ja declarey o directory_name e direcory_path e ja coloquei todos os direitos
de exucução dos pacotes como publico para testa e mesmo assim nada.

O codigo esta abaixo eu acredeço a ajuda.

BEGIN
DECLARE
PathArq BFILE;
ArqCLOB CLOB;
BEGIN
PathArq:=BFILENAME(´IMG´,´BOMBOM.JPG´);
DBMS_LOB.FILEOPEN(PathArq,DBMS_LOB.FILE_READONLY);
DBMS_LOB.LOADFROMFILE(ArqCLOB,PathArq,dbms_lob.getlength(PathArq));
----CODIGO ONDE MANIPULO O BLOB E FAÓ O QUE TENHO QUE FAZER
dbms_lob.fileclose(PathArq);
END;
END;
/


Rogeriorock

Rogeriorock

Responder

Posts

24/07/2006

Rosterne

Rogério

Tente mudar o tipo CLOB para BLOB.

e monte o diretório no oracle.



- create or replace directory NOME as ´CAMINHO´;


Abraço.


Responder

Gostei + 0

24/07/2006

Rogeriorock

Oi obrigado pela atenção,mas não e este o caso pq ja temtei isto,e o diretorio ja esta declarado,e o oracle esta encontrando o diretorio, eu sei disto porque quando coloco no sql plus o comando ´SELECT DBMS_LOB.getLength( BFILENAME(´IMG´,´bombom.jpg´))
AS length FROM dual´, Ele me retorna o tamnho correto do arquivo,e tirando o tratamento de exceção da rotina ele chega ao limite de 10 arquivos abertos,então eu acredito que ele esteja realmente abrindo,so que no loadfromfile ele da erro,como se o tamnho não fose passado.


Responder

Gostei + 0

25/07/2006

Rosterne

O erro está ocorrendo porque ArqCLOB não foi inicializado quando você tenta lê-lo.

Tente assim:

begin
DECLARE
PathArq BFILE;
ArqCLOB CLOB;
BEGIN
PathArq:=BFILENAME(´IMG´,´BOMBOM.JPG´);
dbms_lob.createtemporary(ArqCLOB,TRUE);
DBMS_LOB.FILEOPEN(PathArq, DBMS_LOB.FILE_READONLY);
DBMS_LOB.LOADFROMFILE(ArqCLOB,PathArq,dbms_lob.getlength(PathArq));
dbms_lob.fileclose(PathArq);
END;
end;

Abraço.


Responder

Gostei + 0

25/07/2006

Rogeriorock

Obrigado, realmente funciona foi so copiar e colar o exemplo que vc colocou.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar