איך געפֿירט אַ בדק טעות דעם וואָך, אז אנטפלעקט זיך אויף דער באַניצער צובינד און אין די 12 hive log at runtime.
ערשטער, דאָס באוויזן אין דער באַניצער צובינד:
קען נישט געפינען פעלדער צו טאָן אַלע די ידענטיפיער וואַלועס צו ריכטיק ויספירן אַ ספּעסיפיקפינדער מעטהאָדינסטאַנסע מיט נאָמען … Ensure input Parameters have TypeDescriptors associated with every Identifier defined for this Entity.
דאָ ס אַ פאַרשטעלן שאָס:
I could also cause this message to appear in the 12 hive log at will (using my patented high-tech-don’t-try-this-at-home "mysterious errors" מעטאָד):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: סיסטעמ.ינוואַלידאָפּעראַטיאָנעקססעפּטיאָן: The Identifier value ”, of Type ”, is invalid. Expected Identifier value of Type ‘System.String’. at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) at Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entity entity, Object[] userValues, LobSystemInstance lobSystemInstance) at Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(View desiredView) at Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() at Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
I searched around and found some leads in the MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison that my company has squirreled away on a server and came to realize my problem.
In my ADF, I’m connecting to a SQL database as shown:
<פאַרמאָג נאָמען="רדבקאָממאַנדטעקסט" טיפּ="סיסטעמ.סטרינג">
<![קדאַטאַ[
SELECT
SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
COUNTRY, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CITY, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
COUNTY, STATE, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, PHONE, EXTENSION, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG
FROM
dbo.PS_CARRIER_ID_VW WITH (nolock)
WHERE
(SETID <> 'SHARE') און
(lower(CARRIER_ID) >= lower(@MinId)) און
(lower(CARRIER_ID) <= lower(@ מאַקסיד)) און
(lower(DESCR) LIKE lower(@InputDescr))
]]>
</פאַרמאָג>
I was provided that SQL from a DBA person and I’m given to understand that it’s a ספּעציעל view they created just for me. The unique key there is CARRIER_ID.
Here is the bug I introduced:
<Identifiers>
<Identifier נאָמען="CARRIER_ID" טיפּענאַמע="סיסטעמ.סטרינג" />
<Identifier נאָמען="DESCR" טיפּענאַמע="סיסטעמ.סטרינג" />
</Identifiers>
ערגעץ צוזאמען די שורה, איך האט געראטן צו צעטומלען זיך איבער די טייַטש פון <Identifiers> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! עס אַלע געארבעט.
איך האָפֿן דעם סאַוועס עמעצער עטלעכע טרויער 🙂