Ein BDC-Laufzeitfehler erklärte

Ich verursachte einen BDC-Fehler diese Woche, die sich in der Benutzeroberfläche und in manifestiert der 12 Bienenkorb-Protokoll Laufzeit.

Erste, Dieses erschien in der Benutzeroberfläche:

Felder zum Einfügen aller Bezeichnerwerte zum ordnungsgemäßen Ausführen einer ' SpecificFinder ' MethodInstance mit Namen konnte nicht gefunden werden. … Sicherzustellen Sie, dass die Eingabeparameter TypeDescriptors jeder für diese Entität definierten Bezeichner zugeordnet haben.

Hier ist ein Screenshot:

clip_image001

Ich könnte auch dazu führen, diese Meldung angezeigt, in der 12 Bienenkorb Protokoll wird (mit Hilfe meiner patentierten high-tech-don't-try-this-at-home "geheimnisvolle Störungen" Methode):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server-Geschäftsdaten 6q4x hohe Ausnahme in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Den ID-Wert ”, Typ ”, ist ungültig. ID-Wert vom Typ 'System.String' erwartet. bei Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, LobSystemInstance lobSystemInstance) bei Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Einheit Einheit, Objekt[] userValues, LobSystemInstance lobSystemInstance) bei Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Ansicht desiredView) bei Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() bei Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Ich suchte und fand einige führt in die MSDN-forum, aber sie waren nicht genug für mich zu verstehen, was ich tat, falsch. Ich sah einen Webcast von Ted Pattison dass meine Firma hat entfernt auf einem Server und kam zu meinem Problem erkennen gespeichert..

In meinem ADF, Ich bin mit einer SQL-Datenbank verbinden, wie gezeigt:

            <Eigenschaft Name="RdbCommandText" Typ="System.String">
              <![CDATA[
                WÄHLEN SIE SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      LAND, ADRESSE1, ADRESSE2, ADDRESS3, ADDRESS4, STADT, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      GRAFSCHAFT, ZUSTAND, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, ERWEITERUNG, TELEFAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG aus dbo.PS_CARRIER_ID_VW mit (NOLOCK)
                WO
                  (SETID <> "AKTIE") und
                  (niedrigere(CARRIER_ID) >= untere(@MinId)) und
                  (niedrigere(CARRIER_ID) <= untere(@ MaxId)) und
                  (niedrigere(DESCR) WIE niedriger(@InputDescr))
                ]]>
            </Eigenschaft>

Ich wurde zur Verfügung gestellt, dass SQL DBA Person und ich bin da zu verstehen, dass es eine Spezial die sie nur für mich erstellt. Der eindeutige Schlüssel dort ist CARRIER_ID.

Hier ist der Fehler, den ich eingeführt:

      <Bezeichner>
        <Bezeichner Name="CARRIER_ID" TypeName="System.String" />
        <Bezeichner Name="DESCR" TypeName="System.String" /> 
</Bezeichner>

Irgendwo entlang der Linie, Ich hatte es geschafft, mich über die Bedeutung des verwechseln <Bezeichner> und DESCR hinzugefügt, auch wenn es nicht tatsächlich einen Bezeichner. Ich nahm DESCR aus dem Bezeichner Satz und presto! Das alles funktioniert.

Ich hoffe, das spart einige Trauer jemand 🙂

Technorati Tags: , , ,

2 Gedanken zu „Ein BDC-Laufzeitfehler erklärte

  1. Paul Galvin

    Pieter, Sie sind jetzt gelöst, aber meine Vermutung ist, dass es die Definition auf dem Back-End verbunden werden würde. Vielleicht ist das SQL-Feld selbst beschränkt sich auf 60 Zeichen? Etwas, dass?

    Antwort
  2. Pieter Veenstra

    Hallo,

    Ich habe ein Problem mit einem BDC, und ich frage mich, ob Ihnen dabei helfen können?

    Ich verwende zwei Identifiier Felder ( eine Zahl und ein Beschreibungsfeld), Wenn die Gesamtzahl der Zeichen überschreitet 60 Ich erhalte den Fehler foollowing:

    Ungültiger Text-Wert

    Ein Textfeld enthält unzulässige Daten. Bitte überprüfen Sie den Wert, und versuchen Sie es erneut.

    Verstehen Sie, wo das Begrenzen der 60 Zeichen kommt aus? und wie Sie dieses Problem beheben?

    Derzeit bin ich die Beschreibung so begrenzen eine Weise, die die Gesamtzahl der Zeichen nicht überschreitet 60.

    Antwort

Lassen Sie eine Antwort auf Pieter Veenstra Antwort verwerfen

Deine Email-Adresse wird nicht veröffentlicht. erforderliche Felder sind markiert *