当我尝试在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。
有解决方案吗?
答案 0 :(得分:0)
OrdImage
是Oracle多媒体which was deprecated in 18c and removed in 19c的一部分。
作为图像处理和转换的替代方法,Oracle建议您将多媒体内容存储在SecureFiles LOB中,并使用第三方产品(例如Piction)。 ORDIM组件保留在注册表中,并且仍然具有VALID状态。 Oracle Multimedia对象和软件包保留在数据库中。 但是,这些对象和程序包不再起作用,如果尝试使用它们,则会引发异常。 Oracle Locator不受Oracle Multimedia取消支持的影响。