الحل: سبكويري عدم البحث في المجلدات

أنا تم تنفيذ الأسبوع الماضي "المتطورة" الحل لعميل الذي يستخدم BDC وسبكويري واصطدم ببعض صعوبة في استخدام سبكويري ضد مكتبة المستندات التي تحتوي على المجلدات. خلاصة: تعيين "العودية" لعرض السمة للاستعلام.

بلدي السيناريو:

  • يوم الاثنين, إيداع مستند، وتوفير بعض البيانات الوصفية.
  • وفي الأسبوع التالي, أقوم بتحميل مستند جديد. كثير من بيانات التعريف هذه الوثيقة الجديدة تستند إلى وثيقة حملت يوم الاثنين (التي نسميها "المستند الرئيسي").
  • لقد قمنا بإنشاء واجهة خدمة ويب التي توفر واجهة ودية BDC إلى القائمة حيث أن المستخدمين يمكن بسهولة تحديد موقع تلك الوثيقة اليوم الاثنين عن طريق بحث عنوان.
  • عمود بيانات BDC يوفر واجهة مستخدم ودية. (وهذا جزء من محاولة مني في استخدام BDC لعمود بحث أكثر ودية).

خدمة BDC النهائي على الواجهة يستخدم استعلام مثل هذا للقيام بحث:

 // تستخدم أداة U2U للمساعدة في توليد هذا الاستعلام CAML.
      oQuery.Query =
        "<حيث>";

      إذا كان (titleFilter.Length > 0)
          = oQuery.Query
          "  <و>";

        = oQuery.Query
        "    <و>" +
        "      <جيك>" +
        "        <اسم FieldRef =  "DocumentId" />" +
        "        <نوع القيمة =  "Text">" + ميند + "</القيمة>" +
        "      </جيك>" +
        "      <لك>" +
        "        <اسم FieldRef =  "DocumentId" />" +
        "        <نوع القيمة =  "Text">" + مزيد + "</القيمة>" +
        "      </لك>" +
        "    </و>";

      إذا كان (titleFilter.Length > 0)
          = oQuery.Query
          "    <يحتوي على>" +
          "      <اسم FieldRef =  "Title" />" +
          "      <نوع القيمة =  "Text">" + تيتليفيلتير + "</القيمة>" +
          "    </يحتوي على>" +
          "  </و>";
        = oQuery.Query
        "</حيث>";

وخلال المرحلة الأولى من تطوير, وهذا عمل كبير. ومع ذلك, نحن عرض المجلدات في الدليل حل بعض المشاكل وفجأة, منتقي BDC بلدي لن ترجع أية نتائج. أنا تعقب هذا وصولاً إلى حقيقة أن سبكويري سيعود ابدأ أية نتائج. نحن المجلدات المستخدمة أساسا للسماح بملفات متعددة بنفس الاسم سيتم تحميلها ولكن مع مختلف البيانات الفوقية. عندما يتم تحميل الملف, ونحن إنشاء مجلد استناداً إلى معرف عنصر القائمة، ثم قم بنقل الملف هناك (لقد كتبت عن ذلك هنا; لقد كان لدينا نتائج مختلطة مع هذا النهج ولكن في الجامعة, أنه يعمل بشكل جيد). لا تهتم للمستخدم حول المجلدات وفي الواقع, لا أفهم حقاً أن هناك أية مجلدات. ونحن بتكوين كافة الآراء على مكتبة لإظهار العناصر دون اعتبار للمجلدات.

أنا ضربت هذه المشكلة مرتين كتنفيذ التقنية تطورت وحلها هو بشكل مختلف في كل مرة. المرة الأولى, أنا لم يكن استخدام يحتوي على عامل التشغيل في الاستعلام. دون عامل تشغيل يحتوي على, وكنت قادراً على حل المشكلة عن طريق تحديد العرض على كونتراكتور سبكويري. بدلاً من استخدام منشئ افتراضي:

سبليست أوليست = ويب.قوائم["وثائق"];

سبكويري أوكويري = الجديد سبكويري();

لقد استخدمت بدلاً من ذلك على منشئ المحدد في طريقة عرض:

سبليست أوليست = ويب.قوائم["وثائق"];

سبكويري أوكويري = الجديد سبكويري(oList.Views["كافة المستندات"]);

أن تحل هذه المشكلة وبدأت للحصول على بلدي النتائج.

ثم أضفت يحتوي على عامل التشغيل في هذا المزيج، واندلعت مرة أخرى. وتبين أن المشغل يحتوي على, وبقدر ما أستطيع أن أقول, لا تعمل مع الرأي القائل بنفس الطريقة كما جيك أبسط / مشغلي لك. وقد فعلت بعض البحث وعلمت أنه يجب تعيين فيواتريبوتيس للاستعلام إلى "عودي", كما هو الحال في:

oQuery.ViewAttributes = "نطاق = " Recursive "";

أن تحل المشكلة ليحتوي على. في الحقيقة, هذا أيضا حل مشكلتي البحث الأصلي، وإذا كان قد حددت في العودية السمة في المرة الأولى, أود أن لا يكون تشغيل في هذه المسألة مرة أخرى.

حقيقة أن SPQuery المستندة إلى رأي يعمل لبعض مشغلي (جيك/لك) والبعض الآخر لا (يحتوي على), إلى جانب حقيقة أن مؤشرات الأداء الرئيسية لا يبدو للعمل على الإطلاق مع المستند الذي يحتوي على المجلد مكتبات العملاء المتوقعين لي إلى الاعتقاد بأن سبكويري لديه بعض القضايا تعامد.

شكر خاص:

</نهاية>

الاشتراك في بلادي بلوق!

[تشنورتي] بطاقات: ,

3 افكار عن "الحل: سبكويري عدم البحث في المجلدات

  1. لا يوجد اسم

    http://www.batteryfast.co.uk/asus/w3v.htm أسوس w3v البطارية,
    http://www.batteryfast.co.uk/asus/w3000a.htm أسوس w3000a البطارية,
    http://www.batteryfast.co.uk/asus/w3000.htm أسوس w3000 البطارية,
    http://www.batteryfast.co.uk/asus/w3000v.htm أسوس w3000v البطارية,
    http://www.batteryfast.co.uk/asus/a31-s5.htm أسوس a31-s5 البطارية,
    http://www.batteryfast.co.uk/asus/a32-s5.htm أسوس البطارية a32-s5,
    http://www.batteryfast.co.uk/asus/s52n.htm أسوس s52n البطارية,
    http://www.batteryfast.co.uk/asus/s5000.htm أسوس s5000 البطارية,
    http://www.batteryfast.co.uk/asus/s5200n.htm أسوس s5200n البطارية,
    http://www.batteryfast.co.uk/asus/s5n.htm أسوس s5n البطارية,
    http://www.batteryfast.co.uk/asus/90-naa1b1000.htm أسوس البطارية 90-naa1b1000,
    http://www.batteryfast.co.uk/asus/s2691061.htm أسوس s2691061 البطارية,
    http://www.batteryfast.co.uk/asus/a42-v6.htm أسوس a42-v6 بطارية,
    http://www.batteryfast.co.uk/asus/a32-u5.htm أسوس البطارية a32-u5,
    http://www.batteryfast.co.uk/asus/u5f.htm أسوس u5f البطارية,
    http://www.batteryfast.co.uk/asus/u5a.htm أسوس u5a البطارية,
    http://www.batteryfast.co.uk/asus/u5f.htm أسوس u5f البطارية,
    http://www.batteryfast.co.uk/asus/u5.htm أسوس u5 البطارية,
    http://www.batteryfast.co.uk/compaq/nw8000.htm بطارية كومباك nw8000,
    http://www.batteryfast.co.uk/compaq/nc8000.htm كومباك nc8000 البطارية,
    http://www.batteryfast.co.uk/compaq/v1000.htm كومباك v1000 البطارية,
    http://www.batteryfast.co.uk/compaq/nc6000.htm بطارية كومباك nc6000,
    http://www.batteryfast.co.uk/compaq/nx5000.htm compaq nx5000 البطارية,
    http://www.batteryfast.co.uk/compaq/n600.htm بطارية كومباك n600,
    http://www.batteryfast.co.uk/compaq/n600c.htm بطارية كومباك n600c,
    http://www.batteryfast.co.uk/compaq/n610c.htm كومباك n610c البطارية,
    http://www.batteryfast.co.uk/compaq/n610v.htm بطارية كومباك n610v,
    http://www.batteryfast.co.uk/compaq/n620c.htm بطارية كومباك n620c,
    http://www.batteryfast.co.uk/compaq/e500.htm بطارية كومباك e500,
    http://www.batteryfast.co.uk/compaq/e500s.htm بطارية كومباك e500s,
    http://www.batteryfast.co.uk/compaq/v300.htm بطارية كومباك v300,
    http://www.batteryfast.co.uk/compaq/v500.htm بطارية كومباك v500,
    http://www.batteryfast.co.uk/compaq/pp2060.htm بطارية كومباك pp2060,
    http://www.batteryfast.co.uk/compaq/nx9000.htm بطارية كومباك nx9000,
    http://www.batteryfast.co.uk/compaq/nx9005.htm بطارية كومباك nx9005,
    http://www.batteryfast.co.uk/compaq/nx9010.htm بطارية كومباك nx9010,
    http://www.batteryfast.co.uk/compaq/nx9020.htm بطارية كومباك nx9020,
    http://www.batteryfast.co.uk/compaq/n110.htm كومباك n110 البطارية,
    http://www.batteryfast.co.uk/compaq/n110s.htm بطارية كومباك n110s,
    http://www.batteryfast.co.uk/compaq/pp2101x.htm بطارية كومباك pp2101x,
    http://www.batteryfast.co.uk/compaq/presario-2100.htm كومباك presario 2100 البطارية,
    http://www.batteryfast.co.uk/compaq/ze4000.htm بطارية كومباك ze4000,
    http://www.batteryfast.co.uk/compaq/f4809a.htm بطارية كومباك f4809a,
    http://www.batteryfast.co.uk/compaq/f4812a.htm بطارية كومباك f4812a,
    http://www.batteryfast.co.uk/dell/inspiron-700m.htm dell inspiron 700 متر البطارية,
    http://www.batteryfast.co.uk/dell/inspiron-710m.htm dell inspiron 710 م البطارية,
    http://www.batteryfast.co.uk/dell/latitude-x200.htm بطارية dell latitude x 200,
    http://www.batteryfast.co.uk/dell/8u443.htm بطارية ديل 8u443,
    http://www.batteryfast.co.uk/dell/312-0058.htm ديل 312-0058 البطارية,

    الرد

اترك ردًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها *