在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;
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;
解决方案 »
- 请问 oracle 会自己保存一些建表 建立试图,包括建立索引的脚本么?
- Oracle外键delete
- 如何实现两结果合并
- dba_snapshotS中的意思?
- pl/sql 中能开发多线程的程序吗?
- ORACLE 存储过程中select语句的where条件带IF判断,怎么写?
- Oracle 9i视屏教学软件 and Development 2000视屏教学软件与开发工具
- 可用分捐赠
- 给大家一个关于控制文件的更新、日志组的切换顺序、热备份的机制的比较精彩的帖子
- 如何才能得到PID在表上是否有增删查改的权限。。
- 这样的oracle 语句怎么写?
- 哪位兄弟安装过oracle的简装版本的OracleXEUniv.exe? 会对现有客户端产生影响吗?
就可以看到错误了