2016-12-10 12 views
2

Oracleデータベース・アプリケーションで作業していますが、IMAGES表に格納されている各ORDImageのサムネイルを生成する必要があります。Oracleは格納されたORDImageに基づいてサムネイルを生成します

私がこれまで持っている手順です:テーブル構造は次のように与えられている

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; 

:私は手順を実行すると 1

、例えば:"create_blob_thumbnail(5);"、Oracleはライン16 "ORDSYS.ORDImage.processCopy(IMG_ORIGINAL,"でエラーを返します

"non-existent directory or file for %s operation" 
*Cause: Attempted to access a directory that does not exist, or attempted 
      to access a file in a directory that does not exist. 

あなたはどこが間違っているか見てみてください。

答えて

1

このノート:

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

はこれが機能するためのOracle Directoryは、関連する権限を使用して作成されなければならないことを示唆しています。

しかし、同じことを言えば、「サムネイル」という単語を検索した場合、あなたがしたいと思う「例3」、つまりデータベース内の既存のイメージのサムネイルを作成し、サムネイル。

関連する問題