在oracle的SQL×plus工作单中编译的时候通不过,又不提示是什么错误,我是只小菜鸟,实在是找不出什么错我,请好心人给看看吧,急着用。谢谢!
create or replace directory BLOBDIR as 'D:\oradata\Pic';CREATE OR REPLACE PROCEDURE eygle_dump_blob (piname varchar2,poname varchar2) IS
    l_file   UTL_FILE.FILE_TYPE;
    l_buffer  RAW(32767);
    l_amount  BINARY_INTEGER := 32767;
    l_pos    INTEGER := 1;
    l_blob   BLOB;
    l_blob_len INTEGER;
   BEGIN
    SELECT FPIC
    INTO   l_blob
    FROM   eygle_blob
    WHERE FNAME = piname;
  
    l_blob_len := DBMS_LOB.GETLENGTH(l_blob);
    l_file := UTL_FILE.FOPEN('BLOBDIR',poname,'wb', 32767);
  
    WHILE l_pos < l_blob_len LOOP
     DBMS_LOB.READ (l_blob, l_amount, l_pos, l_buffer);
     UTL_FILE.PUT_RAW(l_file, l_buffer, TRUE);
     l_pos := l_pos + l_amount;
    END LOOP;
  
    UTL_FILE.FCLOSE(l_file);
  
   EXCEPTION
    WHEN OTHERS THEN
     IF UTL_FILE.IS_OPEN(l_file) THEN
      UTL_FILE.FCLOSE(l_file);
    END IF;
     RAISE;
   END;