PL / SQL中的Oracle ORDImage处理:获取IMG-00710和ORA-01031

时间:2008-09-17 16:25:37

标签: oracle plsql

我已将图像加载到新的初始化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”)会产生相同的错误。

2 个答案:

答案 0 :(得分:4)

即使文档声明应该可以“就地”编辑ORDImage,但我无法使其工作。

相反,我创建了一个新的ORDImage对象并使用了processCopy:

    vNewImage ORDImage;
...
    vLocalImage.processCopy('maxScale 534 401', vNewImage);

答案 1 :(得分:0)

您能否显示用于获取l_ordimage的select语句?这个错误的主要原因似乎是你的select语句中没有“for update”,但我现在无法让intermedia进行测试。