在oracle的sql×plus 工作单下编译有错误,但是又不提示是什么错误,请懂的给看看我目的是把数据库METHOD表中的METHOD_DLL字段中存储的dll文件读取到电脑的特定目录下,
不知道这段代码是不是这个功能CREATE OR REPLACE PROCEDURE vva_dump_blob (pino NUMBER(10),poname varchar2,poname1 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 METHOD_DLL
INTO l_blob
FROM 'METHOD'
WHERE METHOD_NO = pino;
l_blob_len := DBMS_LOB.GETLENGTH(l_blob);
l_file := UTL_FILE.FOPEN('BLOBDIR',poname,'w', 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;用show errors命令显示的是这个错误
PROCEDURE VVA_DUMP_BLOB 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------2/2 PLS-00103: 出现符号 ""在需要下列之一时:
beginfunctionpackagepragma
proceduresubtypetypeuse<an identifier>
<a double-quoted delimited-identifier>formcurrentcursor
externallanguage
解决方案 »
- Oracle11g安装问题
- oracle存储过程
- 问个sql语句写法的问题,请诸位帮忙
- 请问,如何实现这个查询功能
- default-web-access.log无限制增长,能限制么?
- 请问下面的SQL该怎么写?
- MySql 如何对Date进行求和
- 为什么出现无效的月份提示?
- 紧急求救!!连接oracle出了这样的错误java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
- 数据库oracle中文问题
- JSP连接双网卡的ORACLE服务器,为什么很不稳定呢?
- 通过GROUP BY 后如何将varchar型的字段合并呢???
INTO l_blob
FROM 'METHOD' 表名怎么能加单引号?
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;
随便一个都编译不通过
不知是何物
不懂
等待高手
改成 pino NUMBER,poname varchar2,poname1 varchar2
存储过程的变量不能定义长度
改为 l_file UTL_FILE.FILE_TYPE%TYPE; 别的暂且不知道
又重新敲了一遍,错误信息变成这个了,怎么解决呢,我用的是oracle 9.0.1.0.0,是不是版本太低了?警告: 创建的过程带有编译错误。PROCEDURE VVA_DUMP_BLOB 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
18/4 PL/SQL: Statement ignored
18/13 PLS-00302: 必须说明 'PUT_RAW' 组件警告: 创建的过程带有编译错误。