א בדק רונטימע טעות דערקלערט

איך געפֿירט אַ בדק טעות דעם וואָך, אז אנטפלעקט זיך אויף דער באַניצער צובינד און אין די 12 hive log at runtime.

ערשטער, דאָס באוויזן אין דער באַניצער צובינד:

קען נישט געפינען פעלדער צו טאָן אַלע די ידענטיפיער וואַלועס צו ריכטיק ויספירן אַ ספּעסיפיקפינדער מעטהאָדינסטאַנסע מיט נאָמען … Ensure input Parameters have TypeDescriptors associated with every Identifier defined for this Entity.

דאָ ס אַ פאַרשטעלן שאָס:

קליפּ_ימאַגע001

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! עס אַלע געארבעט.

איך האָפֿן דעם סאַוועס עמעצער עטלעכע טרויער 🙂

טעטשנאָראַטי טאַגס: , , ,

2 געדאנקען אויף "א בדק רונטימע טעות דערקלערט

  1. פאולוס גאַלווין

    פּיטער, איר פּראָבאַלבי סאַלווד דעם דורך איצט, אָבער מיין טרעפן איז, אז עס וואָלט זייַן שייַכות צו די דעפֿיניציע אויף די צוריק סוף. אפֿשר די סקל פעלד זיך איז באגרענעצט צו 60 טאַנגקס? עפּעס ווי אַז?

  2. פּיטער וועענסטראַ

    הי,

    איך ווע גאַט אַן אַרויסגעבן מיט אַ בדק, און איך ווונדער אויב איר קענען העלפן מיט דעם?

    איך בין ניצן צוויי ידענטיפייער פעלדער ( אַ נומער און אַ באַשרייַבונג פעלד), ווען די גאַנץ נומער פון אותיות יקסידז 60 איך בין געטינג די פאָאָללאָווינג ערראָרס:

    פאַרקריפּלט טעקסט ווערט

    א טעקסט פעלד כּולל פאַרקריפּלט דאַטן. ביטע טשעק די ווערט און פּרובירן ווידער.

    צי איר פֿאַרשטיין ווו דעם שיעור פון 60 אותיות קומט פון? און ווי צו פאַרריכטן דעם אַרויסגעבן?

    דערווייַל איך בין לימאַטינג די באַשרייַבונג אין אַזאַ אַ וועג אַז די גאַנץ נומער פון אותיות טוט נישט יקסיד 60.

לאָזן אַ ענטפֿערן

אייער בליצפּאָסט אַדרעס וועט ניט זיין ארויס. Required fields are marked *