调用write时参数数量或者类型错误

lxjweb 2005-03-21 06:17:30
有一个存储过程,进行blob的写入操作,在dbms_lob.write(picblob,vLength,1, BLOBDATA);
此行编辑时提示错误:调用write时参数数量或者类型错误,这是从网上找的,
我的数据库是oracle 8.17,工具为pl/sql developer 5.1.2.682,谁能解释这是什么原因?


create or replace procedure AddLxj
(
aId in integer,
BLOBDATA in lxjtest.pic%type
)
is
picblob blob;
vId integer;
vLength integer;
begin
INSERT INTO lxjtest (id,dt,pic) VALUES (aid,sysdate,EMPTY_BLOB());
--定位刚插入的BLOB
SELECT pic INTO picblob FROM lxjtest WHERE id = vid FOR UPDATE;
--将内容写进刚插入的BLOB
dbms_lob.open(picblob,dbms_lob.lob_readwrite);
vLength := dbms_lob.getlength(BLOBDATA);
dbms_lob.write(picblob,vLength,1, BLOBDATA);--//调用write时参数数量或者类型错误
commit;
exception

when others then
rollback;

end AddLxj;
...全文
32 点赞 收藏 1
写回复
1 条回复
lynx 2005年03月22日
看看你的vLength是多大。
vLength 应该是binary_integer类型;
回复 点赞
发动态
发帖子
基础和管理
创建于2007-09-28

7175

社区成员

9.5w+

社区内容

Oracle 基础和管理
社区公告
暂无公告