Frage

Ich habe Bild in ein neues, initialisiert Oracle ORDImage Objekt geladen und bin die Verarbeitung durch PL / SQL. Ich kann seine Eigenschaften lesen, aber kann es nicht mit dem Prozess () -Methode verarbeiten.

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;

Dies sollte das Bild verkleinern, Seitenverhältnis Erhaltung, so dass es nicht mehr als 534 Pixel breit ist und nicht mehr als 401 Pixel hoch.

Allerdings bekomme ich folgende Fehlerstack:

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

andere Operationen Versuch (wie 'drehen 90') gleiche Fehler gibt.

War es hilfreich?

Lösung

Auch wenn die Dokumentation besagt, dass es möglich sein soll, eine ORDImage „in-place“ zu bearbeiten, ich war nicht in der Lage, damit es funktioniert.

Stattdessen habe ich ein neues ORDImage Objekt und verwenden processCopy:

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

Andere Tipps

Können Sie zeigen bitte die Select-Anweisung Sie l_ordimage benutzen Sie? Die Hauptursache für diesen Fehler scheint zu sein, wenn Sie nicht „für Update“ haben in der select-Anweisung, aber ich kann nicht intermedia im Moment gehen zu testen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top