ผมเกิดผิดพลาด BDC สัปดาห์นี้ที่ประจักษ์เอง บนอินเทอร์เฟซผู้ใช้ และในการ 12 บันทึกกลุ่ม ขณะใช้งานจริง.
แรก, นี้ปรากฏในส่วนติดต่อผู้ใช้:
ไม่พบฟิลด์เพื่อแทรกค่าตัวระบุทั้งหมดดำเนิน SpecificFinder MethodInstance ชื่ออย่างถูกต้อง … ตรวจสอบมิเตอร์คป้อนเกี่ยวข้องกับแต่ละรหัสที่กำหนดสำหรับเอนทิตีนี้.
นี่เป็นภาพหน้าจอ:
ฉันสามารถทำให้ข้อความนี้ปรากฏในการ 12 กลุ่มล็อกที่จะ (ใช้ high-tech-don't-try-this-at-home ของฉันจดสิทธิบัตร "ลึกลับผิด" วิธีการ):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C ข้อมูล SharePoint Portal Server ธุรกิจ 6q4x สูงยกเว้นใน BusinessDataWebPart.OnPreRender: System.InvalidOperationException: ค่าตัวระบุ ”, ของชนิด ”, ไม่ถูกต้อง. คาดค่าตัวระบุของชนิด 'System.String'. ที่ Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(วัตถุ[] subIdentifierValues, LobSystemInstance lobSystemInstance) ที่ Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(เอนทิตีของเอนทิตี, วัตถุ[] userValues, LobSystemInstance lobSystemInstance) ที่ Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(ดู desiredView) ที่ Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() ที่ Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
ฉันค้นหาสถาน และพบบางเป้าหมายในการ ฟอรั่ม MSDN, แต่พวกเขาไม่เพียงพอที่จะเข้าใจสิ่งที่ฉันได้ทำผิด. เฝ้าดูเว็บคาสต์โดย Ted Pattison ที่ของฉัน บริษัท มี squirreled เก็บบนเซิร์ฟเวอร์และมาตระหนักถึงปัญหาของฉัน.
ใน ADF ของฉัน, ฉันกำลังเชื่อมต่อกับฐานข้อมูล SQL แสดง:
<คุณสมบัติ ชื่อ="RdbCommandText" ชนิด="System.String"> <![CDATA[ เลือก SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD, ประเทศ, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, เมือง, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3, เขต, รัฐ, ไปรษณีย์, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, โทรศัพท์, ส่วนขยาย, โทรสาร, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR, INTERLINK_DLL, TMS_EXCLUDE_FLG จาก dbo.PS_CARRIER_ID_VW ด้วย (nolock) ซึ่ง (SETID <> 'หุ้น') และ (ต่ำกว่า(CARRIER_ID) >ล่าง =(@MinId)) และ (ต่ำกว่า(CARRIER_ID) <ล่าง =(@MaxId)) และ (ต่ำกว่า(DESCR) ชอบล่าง(@InputDescr)) ]]> </คุณสมบัติ>
ผมให้ที่ SQL จากบุคคลรวม และฉันให้เข้าใจว่า เป็นการ พิเศษ มุมมองที่พวกเขาสร้างขึ้นสำหรับฉัน. คีย์เฉพาะมีอยู่ CARRIER_ID.
นี่คือปัญหาที่ผมแนะนำ:
<ตัวบ่งชี้> <รหัส ชื่อ="CARRIER_ID" TypeName="System.String" /> <รหัส ชื่อ="DESCR" TypeName="System.String" />
</ตัวบ่งชี้>
บางแห่งตามแนว, ฉันได้จัดการสับสนตัวเองมากกว่าความหมายของ <ตัวบ่งชี้> และเพิ่ม DESCR แม้ว่าจะไม่เป็นจริงรหัส. ผมเอา DESCR รหัสชุดและ presto! มันทั้งหมดที่ทำงาน.
I hope this saves someone some grief 🙂
เปียเตอร์, คุณ probalby แก้ไขนี้ โดยขณะนี้, แต่ฉันเดา ว่า มันจะเกี่ยวข้องกับข้อกำหนดในส่วนหลัง. บางที SQL ตัวเขตถูกจำกัด 60 ตัวอักษร? สิ่งที่ชอบที่?
สวัสดี,
ฉันมีปัญหากับ BDC, และไม่ทราบว่า คุณสามารถช่วยนี้?
ผมใช้ค่า identifiier ( หมายเลขและฟิลด์คำอธิบาย), เมื่อใดก็ตามจำนวนตัวอักษรเกิน 60 ฉันได้รับข้อผิดพลาด foollowing:
ค่าข้อความไม่ถูกต้อง
เขตข้อมูลข้อความประกอบด้วยข้อมูลไม่ถูกต้อง. กรุณาตรวจสอบค่า แล้วลองอีกครั้ง.
เข้าใจที่นี่จำกัดของ 60 ตัวอักษรที่มาจาก? และวิธีการแก้ไขปัญหานี้?
ขณะนี้ฉันกำลังจำกัดอธิบายในเช่นวิธีที่จำนวนอักขระรวมไม่เกิน 60.