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