Boa noite Pessoal,

Estou tentando realizar a leitura de um campo CLOB e jogar para um 
VARCHAR2. Porém esta ocorrendo o seguinte erro:

ORA-06502: PL/SQL: numeric or value error: invalid LOB locator 
specified: ORA-22275
ORA-06512: at "SYS.DBMS_LOB", line 599
ORA-06512: at "INFR.P_LEITURA_LOB", line 11
ORA-06512: at line 2

Alguem sabe como resolver ? 

[]'s

Mauricio


Segue a procedure utilizada:

CREATE OR REPLACE PROCEDURE P_LEITURA_LOB
IS

        W_MENSAGEM VARCHAR2(32767);
        W_TESTELOB CLOB;
    amt BINARY_INTEGER := 32767;
    pos INTEGER := 1;   
BEGIN

    SELECT DES_CORP_EMAIL INTO W_TESTELOB FROM MENSAGEM WHERE NUM_MSG 
= 21;
    dbms_lob.open(W_TESTELOB, dbms_lob.file_readonly);
    LOOP
        dbms_lob.read(W_TESTELOB, amt, pos, W_MENSAGEM);
        -- process contents of buf
        pos := pos + amt;
    END LOOP;
        
    dbms_output.put_line(W_MENSAGEM);   
  EXCEPTION
     WHEN NO_DATA_FOUND  THEN
        dbms_output.put_line('Teste');
        dbms_lob.close(W_TESTELOB);
END;

Responder a