الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Upload And View Images To/from An Oracle Database Using An Xml Web Service

Featured Replies

بتاريخ:

انا استخدم  اوراكل 11 g 

 

حاولت  ارسل  ملفات  بغض النظر عن نوعها   .  من  خلال اوراكل    الي  انظمه  غير اوراكل  باستخدام    Web Service  ...

 

 

المشكله  الصور  والملفات  التي تزيد حجمها  عن  48k   لا  تصل   ولا يمكن ارسالها  .  بالرغم  عدم ظهور رسالة خطا .

 

فمثلا  عند ارسال  ملف  حجمه  30   يصل  بكل سهوله ويتم عرضه  .

 

واذا  تم ارسال ملف حجمه مثلا 800k  يصل فقط منه 10k  

 

 

هل لديكم  خبره بهذا  الموضوع  ..  هل  يمكن ارسال ملفات  ذات  حجم  كبير  في الاوراكل  وارسالها عن طريق Web Service  ...

 
احنا  بالاوراكل  نستطيع تخزين ملفات كبيره  وعرضها  ضمن اطار  الاوراكل باستخدام  webutil  >>
 
ارجو لاهل الخبره افاادتنا  لاهمية الموضوع  .
 
عند استخدام      utl_dbws.release_call (call_);   يصير  هناك   قطع  للبينات وتصل ناقصه  .

CREATE OR REPLACE PROCEDURE sa.importelectronicfiles2 (
   auth_id                   IN       VARCHAR2,
   bfiles                    IN       BLOB,
   ext                       IN       VARCHAR2,
   parentfolder              IN       VARCHAR2,
   templatename              IN       VARCHAR2,
   system_tag                IN       VARCHAR2,
   tags                      IN       VARCHAR2,
   field_name_doc_type       IN       VARCHAR2,
   field_name_ben_id         IN       VARCHAR2,
   field_name_ben_num        IN       VARCHAR2,
   field_name_br_num         IN       VARCHAR2,
   field_name_released       IN       VARCHAR2,
   field_name_doc_type_val   IN       VARCHAR2,
   field_name_ben_id_val     IN       VARCHAR2,
   field_name_ben_num_val    IN       VARCHAR2,
   field_name_br_num_val     IN       VARCHAR2,
   field_name_released_val   IN       VARCHAR2,
   lf_id                     OUT      NUMBER
)
IS
   service_        utl_dbws.service;
   call_           utl_dbws.CALL;
   service_qname   utl_dbws.qname;
   response        XMLTYPE          := NULL;
   request         XMLTYPE          := NULL;
   l_clob          CLOB;
   l_clob2         VARCHAR2 (1000);
   l_blob          BLOB;
BEGIN
   l_clob := base64encodeblob_plsql (bfiles);--------------------------------------------------------  coding 
   service_qname := utl_dbws.to_qname (NULL, 'ImportDocument');
   service_ := utl_dbws.create_service (service_qname);
   call_ := utl_dbws.create_call (service_);
   utl_dbws.set_target_endpoint_address
                                    (call_,
                                     'http://10.65.60.81/LFWS/ISB-WS-LF.asmx'
                                    );
   utl_dbws.set_property (call_, 'SOAPACTION_USE', 'TRUE');
   utl_dbws.set_property
                 (call_,
                  'SOAPACTION_URI',
                  'http://www.isb-me.com/webServices/ISB-WS-LF/ImportDocument'
                 );
   utl_dbws.set_property (call_, 'OPERATION_STYLE', 'document');
   request :=
      XMLTYPE
         (   '<ImportDocument xmlns="http://www.isb-me.com/webServices/ISB-WS-LF/">'
          || '<AuthID>'
          || auth_id
          || '</AuthID>'
          || '<File>'
          || l_clob
          || '</File>'
          || '<Ext>'
          || ext
          || '</Ext>'
          || '<ParentFolder>'
          || parentfolder
          || '</ParentFolder>'
          || ' <TemplateName>'
          || templatename
          || '</TemplateName>'
          || '<SystemTag>'
          || system_tag
          || '</SystemTag>'
          || '<Tags>'
          || '  <string>'
          || tags
          || '</string>'
          || '</Tags>'
          || '<FieldNames>'
          || ' <string>'
          || field_name_doc_type
          || '</string>'
          || ' <string>'
          || field_name_ben_id
          || '</string>'
          || ' <string>'
          || field_name_ben_num
          || '</string>'
          || ' <string>'
          || field_name_br_num
          || '</string>'
          || ' <string>'
          || field_name_released
          || '</string>'
          || ' </FieldNames>'
          || ' <FieldVals>'
          || ' <string>'
          || field_name_doc_type_val
          || '</string>'
          || ' <string>'
          || field_name_ben_id_val
          || '</string>'
          || ' <string>'
          || field_name_ben_num_val
          || '</string>'
          || ' <string>'
          || field_name_br_num_val
          || '</string>'
          || ' <string>'
          || field_name_released_val
          || '</string>'
          || ' </FieldVals>'
          || ' </ImportDocument>'
         );
   response := utl_dbws.invoke (call_, request);
   utl_dbws.release_call (call_);
   utl_dbws.release_service (service_);


   IF response.EXTRACT ('//ImportDocumentResult/text()',
                        'xmlns="http://www.isb-me.com/webServices/ISB-WS-LF/"'
                       ) IS NOT NULL
   THEN
      lf_id :=
         response.EXTRACT
                      ('//ImportDocumentResult/text()',
                       'xmlns="http://www.isb-me.com/webServices/ISB-WS-LF/"'
                      ).getstringval ();
   END IF;
END;
/

بتاريخ:

بامكانك استخدام sleep  قبل release  وشوف لو حجم الملف اتغير يبقي في مشكلة ف قطع الcall قبل ما يكمل كتابة 

 

DBMS_LOCK.Sleep( 20 );

بتاريخ:
  • كاتب الموضوع

شكرا  اخي  ابراهيم  علي تفاعلك وردك .

 

باذن الله   اجرب  كلامك   . وارد لك خبر  ..

 

شكرا لامثالك

بتاريخ:
  • كاتب الموضوع

المشكله   في حالة ارسال  ملف كبير   من الاوراكل حجمه مثلا 800k   بعد التنفيذ  والذهاب الي  قاعدة بيانات  المرسل اليها  يلاحظ  ان حمجه  صار 22k   >

 

بمعني  انه تم استقطاعه  عن  عمليىة call   لا ادري  مالحل ؟

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.