จำนวนของผลลัพธ์การค้นหาที่จะถูกส่งกลับคือ 5000 เมื่อคุณตั้งค่าแอตทริบิวต์ "นับ" 20000 ใน Microsoft Dynamics CRM

นำไปใช้กับ: Microsoft Dynamics CRM 2011Dynamics CRM 4.0

สิ่งสำคัญ บทความนี้ประกอบด้วยข้อมูลเกี่ยวกับวิธีการปรับเปลี่ยนรีจิสทรี ตรวจสอบให้แน่ใจว่า คุณสำรองรีจิสทรีก่อนที่จะแก้ไข ตรวจสอบให้แน่ใจว่า คุณทราบวิธีการคืนค่ารีจิสทรีหากเกิดปัญหา สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสำรองข้อมูล เรียกคืน และการปรับเปลี่ยนรีจิสทรี คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
322756วิธีการสำรอง และคืนค่ารีจิสทรีใน Windows

อาการ


คุณสามารถใช้แอตทริบิวต์การตรวจนับใน FetchXml schema ได้เมื่อต้องการสร้างแบบสอบถามสำหรับฐานข้อมูล Microsoft Dynamics CRM แล้ว คุณกำหนดแอตทริบิวต์นับเป็น 20000 ในสถานการณ์สมมตินี้ จำนวนของผลลัพธ์การค้นหาที่จะถูกส่งกลับคือ 5000 นอกจากนี้คำสั่ง select ในภาษา SQLได้เสมอเลือก 5001 ด้านบนโดยไม่คำนึงถึงว่ามีการตั้งค่า สำหรับแอตทริบิวต์การตรวจนับและ สำหรับแอตทริบิวต์ที่เก็บเพจของ

สาเหตุ


ปัญหานี้เกิดขึ้นเมื่อคุณใช้ FetchXml schema เพื่อเรียกค้นหาชุดผลลัพธ์และเมื่อแอตทริบิวต์moreRecordsถูกตั้งค่าเป็น 1 ค่าของ 1 บ่งชี้ว่า เรกคอร์ดมากกว่า 5000 จะพร้อมใช้งาน ใน Microsoft Dynamics CRM แอตทริบิวต์ที่เก็บเพจของมีหน้าจำนวนอักขระสูงสุด 5000

การแก้ปัญหา


Microsoft ให้ตัวอย่างการเขียนโปรแกรมไว้สำหรับประกอบการอธิบายเท่านั้นโดยไม่มีการรับประกันไม่ว่าจะโดยชัดแจ้งหรือโดยนัย กรณีนี้รวมถึงแต่มิได้จำกัดเพียงแค่การการรับประกันโดยนัยเกี่ยวกับการจำหน่ายเป็นสินค้าหรือความเหมาะสำหรับวัตถุประสงค์เฉพาะ บทความนี้ตั้งสมมติฐานว่าคุณมีความคุ้นเคยกับภาษาการเขียนโปรแกรมที่กำลังแสดงและคุ้นเคยกับเครื่องมือที่ใช้ใน การสร้างและแก้จุดบกพร่องของขั้นตอนการดำเนินการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายเกี่ยวกับหน้าที่การใช้งานของกระบวนการเฉพาะ อย่างไรก็ตาม จะไม่แก้ไขตัวอย่างเหล่านี้เพื่อเพิ่มฟังก์ชัน หรือสร้างขั้นตอนเพื่อตอบสนองความต้องการเฉพาะของคุณ

เมื่อต้องการแก้ไขปัญหานี้ ใช้แอตทริบิวต์ที่เก็บเพจของเพื่อเรียกระเบียน จากนั้น ให้ใช้แอตทริบิวต์moreRecordsในการค้นหาผลลัพธ์ที่ตั้งเพื่อกำหนดว่า ควรจะส่งคืนหน้าถัดไป

ตัวอย่างเช่น รหัสต่อไปนี้สาธิตวิธีการแก้ไขปัญหานี้
moreRecords = true;i = 0;
while(moreRecords)
{
get page i
if(result has more records)
i++
else
moreRecords = false
}

ข้อมูลเพิ่มเติม


คำเตือน ปัญหาร้ายแรงอาจเกิดขึ้นหากคุณปรับเปลี่ยนรีจิสทรีอย่างไม่ถูกต้อง โดยใช้ Registry Editor หรือ โดยใช้วิธีอื่น ปัญหาเหล่านี้อาจกำหนดให้คุณต้องติดตั้งระบบปฏิบัติการ Microsoft ไม่สามารถรับประกันว่า ปัญหาเหล่านี้จะสามารถแก้ไข ปรับเปลี่ยนรีจิสทรีคุณต้องเสี่ยง

เมื่อต้องการปรับปรุงวงเงินหน้าไปเป็นค่าที่น้อยกว่า 5000 เพิ่มค่า DWORD MaxRowsPerPage รีจิสทรี เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
  1. คลิก เริ่ม คลิก เรียกใช้ พิมพ์ regedit ในกล่อง เปิด แล้วคลิ ก ตกลง
  2. ค้นหา และจากนั้น เลือกคีย์ย่อยของรีจิสทรีต่อไปนี้:
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM
  3. บนเมนูแก้ไขชี้ไปที่สร้างแล้ว คลิ กDWORD Value
  4. พิมพ์MaxRowsPerPageและจากนั้น กด ENTER
  5. คลิกขวาที่MaxRowsPerPageและจากนั้น คลิกปรับเปลี่ยน
  6. พิมพ์ตัวเลขที่น้อยกว่า หรือเท่ากับ 5000 ในกล่องข้อมูลค่าและจากนั้น คลิกตกลง
  7. บนเมนูแฟ้มคลิกจบการทำงาน
เมื่อต้องการปิดคุณลักษณะการแบ่งหน้า และละเว้นพารามิเตอร์MaxRowsPerPageของ 5000 แล้ว เพิ่มค่า DWORD TurnOffFetchThrottling รีจิสทรี เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้

หมายเหตุ ทำตามขั้นตอนเหล่านี้อาจทำให้เกิดปัญหาประสิทธิภาพการทำงานบนคอมพิวเตอร์ของคุณ
  1. คลิก เริ่ม คลิก เรียกใช้ พิมพ์ regedit ในกล่อง เปิด แล้วคลิ ก ตกลง
  2. ค้นหา และจากนั้น เลือกคีย์ย่อยของรีจิสทรีต่อไปนี้:
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM
  3. บนเมนูแก้ไขชี้ไปที่สร้างแล้ว คลิ กDWORD Value
  4. พิมพ์TurnOffFetchThrottlingและจากนั้น กด ENTER
  5. คลิกขวาที่TurnOffFetchThrottlingและจากนั้น คลิกปรับเปลี่ยน
  6. พิมพ์ตัวเลขอื่นที่ไม่ใช่ 0 ในกล่องข้อมูลค่าและจากนั้น คลิกตกลง

    หมายเหตุ ขั้นตอนที่ 6 ช่วยให้คุณสามารถดึงข้อมูลหมายเลขของระเบียนที่ระบุในแอตทริบิวต์การตรวจนับของคำสั่งของคุณนำมาใช้
  7. บนเมนูแฟ้มคลิกจบการทำงาน