我已将图像加载到新的初始化Oracle ORDImage对象中,并通过PL / SQL处理它。我可以读取其属性,但无法使用process()方法处理它。
vLocalImage ORDImage := ORDImage.init();
...
vLocalImage.source.localdata := PORTAL.wwdoc_admin.get_document_blob_content(pFile);
vLocalImage.setProperties();
...
if vLocalImage.width > lMaxWidth
then
vLocalImage.process('maxScale 534 401');
end if;
这应该缩小图像,保留纵横比,使其宽度不超过534像素,高度不超过401像素。
但是,我得到以下错误堆栈:
Internal error: ORA-29400: data cartridge error
IMG-00710: unable to write to destination image
ORA-01031: insufficient privileges
尝试其他操作(如“旋转90”)会产生相同的错误。
答案 0 :(得分:4)
即使文档声明应该可以“就地”编辑ORDImage,但我无法使其工作。
相反,我创建了一个新的ORDImage对象并使用了processCopy:
vNewImage ORDImage;
...
vLocalImage.processCopy('maxScale 534 401', vNewImage);
答案 1 :(得分:0)
您能否显示用于获取l_ordimage的select语句?这个错误的主要原因似乎是你的select语句中没有“for update”,但我现在无法让intermedia进行测试。