データベースからいくつかの大きな wave ファイルを取得する必要があり、より小さい (約 5Mb) の wave ファイルに分割して取得したいと考えています。どのようにできるのか?プロシージャ dbms_lob.read を見たことがありますが、これは最大ファイル サイズ 32Kb を返します。
よろしく
procedure extract_blob(p_id in number, wrote_length in out number, chunk out blob) is
len_file binary_integer;
myblob blob;
myname varchar2(255);
buffer_length number := 32760;
begin
select file_wav_data, file_wav_name, dbms_lob.getlength(file_wav_data)
into myblob, myname, lun_file
from t_wav
where id = p_id;
if(len_file > wrote_length) then
dbms_lob.read(myblob,buffer_length,wrote_length+1,chunk);
wrote_length := wrote_length + buffer_length;
else wrote_length := -999; --EOF
end if;
end;