调用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;
...全文
67 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lynx 2005-03-22
  • 打赏
  • 举报
回复
看看你的vLength是多大。
vLength 应该是binary_integer类型;

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧