استلام آلي لتقارير OBIEE من قبل العميل

تنشأ مهمة أحيانًا الحصول على تقرير في مكان عمل العميل دون استخدام وسيلة تفاعلية للتفاعل في شكل متصفح.



في أيام Oracle Reports ، تم حل مهمة مماثلة من خلال استخدام الأداة المساعدة rwclient. ما الذي يمكن تطبيقه على ذلك في Oracle BIEE؟ - نستخدم REST API المقدم لـ Oracle BI Publisher :



  1. لنقم بإنشاء تقرير ، دعه يكون متاحًا في الدليل: /~scott.tiger/Example؛
  2. من خلال الطلب من خلال الأداة المساعدة curl ، نحصل على استجابة الخادم ، وحفظها في ملف:



    curl -X POST -u login:password  -o report_out.xlsx -H "Content-Type:multipart/form-data" -v -F 'ReportRequest={"attributeFormat":"xlsx","attributeTemplate":"Publisher Template"};type=application/json' http://hostname:port/xmlpserver/services/rest/v1/reports/~scott.tiger%2FExample/run
  3. نظرًا لأن محتوى الرد في مستند report_out.xlsx ليس Excel بعد ، ولكنه مستند متعدد الأجزاء (انظر RFC 7578 ) ، فإننا نعالج المستند ، ونزيل التفاصيل غير الضرورية:



    perl -i -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' report_out.xlsx
  4. نتأكد من عمل التقرير من خلال فتحه من خلال برنامج Excel على جهاز العميل.
  5. نلصق التطورات معًا عبر الأنبوب ونحصل على حل جاهز:



    curl -X POST -u login:password  -H "Content-Type:multipart/form-data" -v -F 'ReportRequest={"attributeFormat":"xlsx","attributeTemplate":"Publisher Template"};type=application/json' http://nameserv:port/xmlpserver/services/rest/v1/reports/~scott.tiger%2FExample/run |  perl -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' > report_output.xlsx



All Articles