Oracle8i - InterMedia/Image dotaz

Vojtech Novacek linux na netcore.cz
Středa Prosinec 15 12:45:05 CET 1999


Dobry den,

mam problem s pouzitim objektu ORDSYS.ORDImage. Chtel bych z tabulky
obsahujici obrazky vyselectovat jejich zmenseniny (a ty prezentovat na
webu). Vytvoril jsem si nasledujici proceduru:

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.
Diky.

S pozdravem

				  _---------------------------------------
	Vojtech Novacek		_-
--------------------------------



Další informace o konferenci Databases