Extrahieren Sie BLOB-Daten aus der Oracle-Datenbank und konvertieren Sie zur ursprünglichen Datei

Ich versuche zu extrahieren BLOB Daten und konvertieren Sie die ursprüngliche Datei (pdf -, rtf -, doc -, etc). Unten ist mein code:

DECLARE
  l_file      UTL_FILE.FILE_TYPE;
  l_buffer    RAW(32767);
  l_amount    BINARY_INTEGER := 32767;
  l_pos       NUMBER := 1;
  l_blob      BLOB;
  l_blob_len  NUMBER;
BEGIN

  SELECT file_contents
    INTO   l_blob
    FROM   irb_files
   WHERE  FILE_NAME = 'STD_FlipBook_Religion2013.doc';

  l_blob_len := DBMS_LOB.getlength(l_blob);

  -- Open the destination file.
  l_file := UTL_FILE.fopen('IRB','STD_FlipBook_Religion2013.doc','wb','W');


  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;

  -- Close the file.
  UTL_FILE.fclose(l_file);

END;

Ich bin relativ neu auf all dies, so bin ich sorry, wenn mein code ist ein bisschen off. Die Fehler ich erhalte, ist:

Error report:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 18
06502. 00000 -  "PL/SQL: numeric or value error%s"
*Cause:    
*Action:

Jegliche Hilfe würde sehr geschätzt werden.

Datenbank-Infos:
Oracle9i Enterprise Edition Release 9.2.0.5.0

Die Linie 18???? Bitte auch die Tabelle schema.

InformationsquelleAutor Brock Davis | 2013-08-20

Schreibe einen Kommentar