テーブルのBLOBフィールドを読み取り、別のプロシージャのテンプレートとして使用されるRTFドキュメントを書き込むプロシージャを開発しようとしていますが、プロシージャがselectステートメントを起動すると、ORA-06502エラーが発生します。 。
ドキュメントを読んだ後のこのエラーは、フィールド間の非互換性(数値または値のエラー文字列)が原因で発生します
しかし、私はインターネットのいたるところにこの例を見てきました、そして私はそれを引き起こしているものの考えを使い果たしています。
私の手順のソースコードは次のとおりです。
PROCEDURE p_transfer_db_client(pcPath IN VARCHAR2,
                               pnSequence IN NUMBER) IS
   v_src_blob BLOB;
   v_file UTL_FILE.FILE_TYPE;
   v_offset INTEGER := 1;
   v_amount BINARY_INTEGER := 32766;
   v_binary_buffer RAW(32767);
BEGIN
   SELECT model 
     INTO v_src_blob
     FROM models
    wHERE id = pnSequence;
   v_file := UTL_FILE.FOPEN(pcPath, 'model.rtf', 'wb', v_amount); 
   LOOP
      BEGIN
          DBMS_LOB.READ(v_src_blob, v_amount, v_offset, v_binary_buffer);
          UTL_FILE.PUT_RAW(v_file, v_binary_buffer);
          v_offset := v_offset + v_amount;
      EXCEPTION
          WHEN NO_DATA_FOUND THEN
               EXIT;
      END;
   END LOOP;
   UTL_FILE.FFLUSH(v_file);
   UTL_FILE.FCLOSE(v_file);
END p_transfer_db_client;