Oracle根据存储的ORDImage生成缩略图

时间:2016-12-10 19:34:35

标签: sql oracle

我正在开发一个Oracle数据库应用程序,它需要为IMAGES表中存储的每个ORDImage生成一个缩略图。

到目前为止我的程序是:

LOOKAHEAD

表结构如下: 1

当我运行该过程时,例如:create or replace PROCEDURE create_blob_thumbnail (p_image_id IN INTEGER) IS IMG_ORIGINAL ORDSYS.ORDImage; THUMBNAIL ORDSYS.ORDImage; BLOB_THUMBNAIL BLOB; BEGIN SELECT IMAGE INTO IMG_ORIGINAL FROM IMAGES WHERE PRODUCT_ID = p_image_id FOR UPDATE; THUMBNAIL := ORDSYS.ORDImage.Init(); dbms_lob.createTemporary(THUMBNAIL.source.localData, true); ORDSYS.ORDImage.processCopy(IMG_ORIGINAL, 'maxscale=128 128', THUMBNAIL); -- extract BLOB from OrdImage UPDATE IMAGES SET THUMBNAIL = THUMBNAIL.source.localData WHERE PRODUCT_ID = p_image_id; dbms_lob.freeTemporary(THUMBNAIL.source.localData); COMMIT; END; ,Oracle在第16行"create_blob_thumbnail(5);"返回错误说:

"ORDSYS.ORDImage.processCopy(IMG_ORIGINAL,"

请你看看哪里出了问题?

1 个答案:

答案 0 :(得分:2)

本说明:

https://docs.oracle.com/cd/B28359_01/appdev.111/b28414/ch_imgref.htm

建议必须使用相关权限创建Oracle DIRECTORY才能使其正常工作。

然而,如果你搜索单词" thumbnail"你会"例3"我认为你做了什么,即为数据库中的现有图像创建缩略图,并用缩略图更新另一列。