Domanda

Ho caricato l'immagine in un nuovo oggetto Oracle ORDImage inizializzato e la sto elaborando tramite PL/SQL.Posso leggere le sue proprietà, ma non posso elaborarlo con il metodo 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;

Ciò dovrebbe ridimensionare l'immagine, conservando le proporzioni, in modo che non sia più larga di 534 px e alta non più di 401 px.

Tuttavia, ottengo il seguente stack di errori:

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

Provare altre operazioni (come "ruotare di 90") dà gli stessi errori.

È stato utile?

Soluzione

Anche se la documentazione afferma che dovrebbe essere possibile modificare un ORDImage "sul posto", non sono riuscito a farlo funzionare.

Invece, ho creato un nuovo oggetto ORDImage e ho utilizzato processCopy:

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

Altri suggerimenti

Puoi mostrare l'istruzione select che usi per ottenere l_ordimage?La causa principale di questo errore sembra essere se non hai "for update" nell'istruzione select, ma al momento non riesco a far eseguire il test a Intermedia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top