0

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

4

2 回答 2

4

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

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

    vNewImage ORDImage;
...
    vLocalImage.processCopy('maxScale 534 401', vNewImage);
于 2008-10-31T10:41:50.013 回答
0

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

于 2008-09-18T11:58:51.837 回答