معالجة أوراكل ORDImage في PL/SQL:الحصول على IMG-00710 وORA-01031

StackOverflow https://stackoverflow.com/questions/85006

  •  01-07-2019
  •  | 
  •  

سؤال

لقد قمت بتحميل الصورة في كائن Oracle ORDImage جديد تمت تهيئته وأقوم بمعالجته بواسطة PL/SQL.يمكنني قراءة خصائصه، لكن لا يمكنني معالجته باستخدام طريقة العملية ().

vLocalImage ORDImage := ORDImage.init();
...
vLocalImage.source.localdata := PORTAL.wwdoc_admin.get_document_blob_content(pFile);
vLocalImage.setProperties();
...
if vLocalImage.width > lMaxWidth
then
vLocalImage.process('maxScale 534 401');
end if;

يجب أن يؤدي ذلك إلى تصغير حجم الصورة، مع الحفاظ على نسبة العرض إلى الارتفاع، بحيث لا يزيد عرضها عن 534 بكسل وارتفاعها عن 401 بكسل.

ومع ذلك، أحصل على مكدس الأخطاء التالي:

Internal error: ORA-29400: data cartridge error
IMG-00710: unable to write to destination image
ORA-01031: insufficient privileges

تجربة عمليات أخرى (مثل "تدوير 90") تعطي نفس الأخطاء.

هل كانت مفيدة؟

المحلول

على الرغم من أن الوثائق تنص على أنه من الممكن تحرير صورة ORDImage "في مكانها"، إلا أنني لم أتمكن من تشغيلها.

بدلاً من ذلك، قمت بإنشاء كائن ORDImage جديد واستخدمتprocessCopy:

    vNewImage ORDImage;
...
    vLocalImage.processCopy('maxScale 534 401', vNewImage);

نصائح أخرى

هل يمكنك إظهار بيان التحديد الذي تستخدمه للحصول على l_ordimage؟يبدو أن السبب الرئيسي لهذا الخطأ هو عدم وجود كلمة "للتحديث" في بيان التحديد الخاص بك، ولكن لا يمكنني تشغيل الوسائط في الوقت الحالي للاختبار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top