Oracle8i - InterMedia/Image dotaz
Honza Pazdziora
adelton na informatics.muni.cz
Středa Prosinec 15 14:04:56 CET 1999
>
> CREATE OR REPLACE PROCEDURE get_scale_image (
> img_id IN NUMBER,
> sx IN NUMBER,
> sy IN NUMBER,
> img_data IN OUT BLOB)
> AS
> img ORDSYS.ORDImage;
> BEGIN
> SELECT image INTO img FROM images WHERE image_id = img_id;
> img.process('maxScale=100,100');
> img_data := img.getContent;
> END;
>
> a odpovidajici tabulku 'images'.
>
> Pokud vsak zkusim 'DECLARE b blob BEGIN get_scale_image(1,100,100,b);
> END;' dostanu tyto chyby:
>
> ORA-29400: data cartridge error
> IMG-00712: unable to write to destination image
> ORA-22920: row containing the LOB value is not locked
> ...
> ???
> Pokud ale upravim procedure a nakonec selectu dam FOR UPDATE, procedura
> probehne v poradku, ale zaroven mi znici puvodni image, coz nechci.
> Muze mi nekdo napovedet, kde delam chybu.
Chova se to podle dokumentace. Pokud chcete vytvorit kopii, pouzijte
napriklad metodu processCopy se druhym parametrem objektem, kam chcete
vysledek ulozit.
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
------------------------------------------------------------------------
Další informace o konferenci Databases