【发布时间】:2019-08-15 02:11:19
【问题描述】:
当我尝试在 plsql 中将 blob 图像转换为 PUBLIC.ORDIMAGE 时出现错误
ORA-06512 ORDSYS.ORDIMAGE
insert into image(image) values (ORDSYS.ORDImage(blob_image));
我也在尝试使用函数来调整 blob 的大小,但出现以下错误:
create or replace FUNCTION resize_img (p_ID varchar)
RETURN BLOB
IS
vImageData BLOB;
vSizedImage BLOB;
BEGIN
select blob_img into vImageData from my_table where ID = p_ID;
DBMS_Lob.createTemporary(vSizedImage, FALSE, DBMS_LOB.CALL);
ORDSYS.OrdImage.processCopy(vImageData, 'maxScale=75 75', vSizedImage);
return vSizedImage;
END resize_img;
当我调用函数时出现错误:
ORA-06510:PL/SQL:未处理的用户定义异常
ORA-06512:在“ORDSYS.ORDIMAGE”,第 456 行
ORA-06512:在“MYSCHEMA.RESIZE_IMG”,第 14 行
06510. 00000 - “PL/SQL:未处理的用户定义异常”
*原因:PL/SQL 代码引发了用户定义的异常,但未处理。
*行动:修复导致异常的问题或为此情况编写异常处理程序。或者您可能需要联系您的应用程序管理员或 DBA。
有什么办法吗?
【问题讨论】:
-
看起来那个函数来自from this dba.se thread。如果是这样,请记住问题是针对 Oracle 11gR2 的。我看到你用
[oracle10g]和[oracle11g]标记了你的问题。你真正使用的是哪一个? -
@APC Tnx 用于回放,我使用 Oracle Database 19c 但此标记在这里不可见。
-
为了将来参考,最好在问题正文中说明您使用的版本,而不是使用误导性标签。
标签: oracle plsql oracle-sqldeveloper oracle19c