Procesamiento de Oracle ORDImage en PL/SQL:Obteniendo IMG-00710 y ORA-01031

StackOverflow https://stackoverflow.com/questions/85006

  •  01-07-2019
  •  | 
  •  

Pregunta

He cargado una imagen en un nuevo objeto ORDImage de Oracle inicializado y la estoy procesando mediante PL/SQL.Puedo leer sus propiedades, pero no puedo procesarlas con el método 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;

Esto debería reducir la imagen, conservando la relación de aspecto, de modo que no tenga más de 534 px de ancho y no más de 401 px de alto.

Sin embargo, aparece la siguiente pila de errores:

Internal error: ORA-29400: data cartridge error
IMG-00710: unable to write to destination image
ORA-01031: insufficient privileges

Al intentar otras operaciones (como "girar 90") se obtienen los mismos errores.

¿Fue útil?

Solución

Aunque la documentación indica que debería ser posible editar una ORDImage "in situ", no pude hacerlo funcionar.

En lugar de eso, creé un nuevo objeto ORDImage y usé ProcessCopy:

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

Otros consejos

¿Puede mostrar la declaración de selección que utiliza para obtener l_ordimage?La causa principal de este error parece ser si no tiene "para actualizar" en su declaración de selección, pero no puedo hacer que el intermediario funcione en este momento para realizar la prueba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top