请教高手:JAVA调用存储过程,存储ordsys.ordimage出现异常
我有一个表emp,包括empid(number), empname(varchar2), photo(ordsys.ordimage),
下面有一个存储过程用传进去的参数增加一条记录,
和一段JAVA,用来调用存储过程,
存储过程和JAVA都编译通过了,但运行JAVA到ops.executeUpdate()处出现异常:“java.sql.SQLException: ORA-01460: 未实现或无理的转换请求”;
请各位高手帮我看看有什么问题,多谢
// 这是我的java
String psCallStr = "{call Insert_Ordimage_Test(?, ?)}"; //不知道是不是这个调用的字符串写错了?
OracleConnection oc = (OracleConnection) connection; //这个connection是已经得到的没错的连接
PreparedStatement ps = oc.prepareStatement(psCallStr);
OraclePreparedStatement ops = (OraclePreparedStatement) ps;
ops.setString(1, "abc");
BLOB img = new BLOB(oc, bPic);
ops.setBLOB(2, img);
int rowCount = ops.executeUpdate();
oc.commit();
// 下面是我的存储过程
CREATE OR REPLACE PROCEDURE "SYSTEM"."INSERT_ORDIMAGE_TEST" (
name in varchar2,
image in BLOB)
is
ordImg ordsys.ordimage;
begin
insert into emp values(
seq_emp.nextval,
name,
ordsys.ordimage(ordsys.ordsource(empty_blob(), null, null, null, sysdate, 1),
null, null, null, null, null, null, null)
);
select photo into ordImg from emp
where ename = name
for update;
ordImg := ordsys.ordimage(ordsys.ordsource(empty_blob(), null, null, null, sysdate, 1),
null, null, null, null, null, null, null);
ordImg.setProperties;
update emp set photo = ordImg
where ename = name;
end