我有以下要求:其实我有txt文件我需要压缩这个文件并使用oracle UTL_COMPRESS包创建gz文件.我需要在Unix 11b上使用Oracle 11g实现此功能.我已经尝试使用下面的代码,它在某种程度上工作.我的意思是它正在努力压缩小尺寸文件.
DECLARE
f utl_file.file_type;
compressed BLOB;
data_b BFILE;
BEGIN
f := UTL_FILE.fopen ('DIR_UTL_COM_TEST', 'Test1.gz', 'wb');
data_b := BFILENAME ('DIR_UTL_COM_TEST','pk_intibuy_pkb.txt');
DBMS_LOB.FILEOPEN (data_b, DBMS_LOB.LOB_READONLY);
DBMS_LOB.createtemporary (compressed, false);
compressed := UTL_COMPRESS.lz_compress (data_b,6);
UTL_FILE.put_raw(f, compressed, true);
UTL_FILE.fclose (f);
DBMS_LOB.FILECLOSE (data_b);
DBMS_LOB.freetemporary (compressed);
END;
Run Code Online (Sandbox Code Playgroud)
但是这段代码无法压缩大文件.如果有人在oracle 11g中实现此功能,请帮忙.非常感谢.错误消息:
Error report:
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 11 06502. 00000 - "PL/SQL: numeric or value error%s"
Run Code Online (Sandbox Code Playgroud) oracle11g ×1