在plsql中将BLOB图像转换为PUBLIC.ORDIMAGE
在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。
是否有任何解决方案?
解决方案
OrdImage
是Oracle Multimedia的一部分,which was deprecated in 18c and removed in 19c。
作为图像处理和转换的替代方案,Oracle建议您将多媒体内容存储在SecureFiles LOB中,并使用第三方产品,如Piction。ORDIM组件保留在注册表中,并且仍然具有有效状态。Oracle多媒体对象和包保留在数据库中。但是,这些对象和包不再起作用,并在尝试使用它们时引发异常。Oracle Locator不受Oracle Multimedia取消支持的影响。
相关文章