سؤال

لدي تقارير BIRT متعددة تحصل على البيانات من نفس مصدر بيانات jdbc.

هل من الممكن الحصول على معلمات الاتصال (عنوان URL لبرنامج التشغيل واسم المستخدم وكلمة المرور) من ملف خاصية خارجي أو ما شابه؟

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

المحلول

واحد يجب إنشاء مصدر بيانات وظيفية، يمكنك إضافة مصدر البيانات إلى مكتبة التقرير التي يمكن استيرادها واستخدامها من قبل جميع التقارير BIRT في النظام الخاص بك. مصدر داخل المكتبة يمكن أن يكون لها سمات اتصال ثابتة، أو يمكنك مجردة لهم باستخدام خصائص تخريجها.

إذا كنت ترغب في عدم استيعاب معلومات الاتصال، وسوف تحتاج إلى قرص مصدر البيانات نفسها. داخل محرر مصدر البيانات، هناك قسم "الملكية ملزم" التي تسمح لك لالمجردة عن القيم التي تحكم اتصال البيانات. من هناك يمكنك ربط القيم (باستخدام محرر التعبير) إما المعلمات تقرير أو ملف الممتلكات.

لربط إلى معلمة تقرير، استخدم بناء الجملة التالي: params[parametername].value كتعبير

.

لربط إلى ملف خصائص، تعيين ملف الموارد في خصائص المستوى الأعلى في التقرير. من هناك يمكنك فقط استخدام قيمة المفتاح الملكية لربط الدخول إلى مصدر البيانات.

وحظا سعيدا!

نصائح أخرى

البديل للحل الجيد "ربط الخاصية" الخاص بـ Mystik هو خارجي إلى ملف تعريف الاتصال.

  • إنشاء مصدر البيانات (قل "DS")، وإعداد التكوين الصحيح للمعلمات للاتصال بقاعدة البيانات.
  • انقر بزر الماوس الأيمن على "DS"> إضفاء الطابع الخارجي على ملف تعريف الاتصال...> حدد كلا الخيارين، قم بتعيين اسم لملف تعريف الاتصال، حسنًا > قم بتعيين المسار واسم الملف لحفظ ملف مخزن ملف تعريف الاتصال (قل "reportName.cps")، قم بإلغاء تحديد تشفير...(وبهذه الطريقة يمكننا تعديل المعلومات في ملف XML يدويًا).

الآن لدينا "reportName.cps"، وهو ملف XML يمكننا تعديله وفقًا للبيئة التي نضع فيها تقريرنا (التطوير، الإنتاج،...).المشكلة هي أن "DS" قام بتحميل تلك المعلومات بشكل ثابت من "reportName.cps".يقوم بتحميلها ديناميكيًا إذا تمكن من العثور على "reportName.cps" في المسار المطلق الذي حددناه.لذلك، عند تغيير البيئة، سيكون مسار الملف مختلفًا ولن يجد التقرير ملفنا.لإخبار التقرير بالموقع الصحيح للملف وتحميله ديناميكيًا، دعنا نكتب نصًا:

  • أعد ال قبل فتح البرنامج النصي لاستخدام ملف تعريف الاتصال الذي تم نشره في مجلد الموارد والذي يمكن أن يكون مختلفًا لكل بيئة:

    var myresourcefolder = reportContext.getDesignHandle().getResourceFolder();
    this.setExtensionProperty("OdaConnProfileStorePath", myresourcefolder + "/reportName.cps");
    
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top