Traitement Oracle ORDImage en PL / SQL: Obtention des IMG-00710 et ORA-01031
Question
J'ai chargé l'image dans un nouvel objet Oracle ORDImage initialisé et je la traite par PL / SQL. Je peux lire ses propriétés, mais je ne peux pas le traiter avec la méthode 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;
Ceci devrait réduire l’image, en conservant les proportions, pour qu’elle ne dépasse pas 534 pixels de large et 401 pixels de haut.
Cependant, j'obtiens la pile d'erreur suivante:
Internal error: ORA-29400: data cartridge error
IMG-00710: unable to write to destination image
ORA-01031: insufficient privileges
Essayer d’autres opérations (comme 'faire pivoter 90') génère les mêmes erreurs.
La solution
Même si la documentation indique qu'il devrait être possible de modifier un ORDImage "sur place", je n'ai pas réussi à le faire fonctionner.
À la place, j'ai créé un nouvel objet ORDImage et utilisé processCopy:
vNewImage ORDImage;
...
vLocalImage.processCopy('maxScale 534 401', vNewImage);
Autres conseils
Pouvez-vous s'il vous plaît montrer l'instruction select que vous utilisez pour obtenir l_ordimage? La cause principale de cette erreur semble être si vous n'avez pas "pour la mise à jour". dans votre déclaration choisie, mais je ne peux pas utiliser intermedia pour le moment.