Em va causar un error BDC aquesta setmana que es manifesta en si en la interfície d'usuari i en la 12 registre de rusc al temps d'execució.
Primer, Això va aparèixer en la interfície d'usuari:
No s'ha pogut trobar camps per inserir tots els valors d'identificador per executar correctament la MethodInstance d'SpecificFinder amb nom … Assegurar que paràmetres d'entrada tinguin TypeDescriptors associats amb cada identificadors definits per a aquesta entitat.
Aquí està una captura de pantalla:
Jo també podria provocar aquest missatge per aparèixer en el 12 registre de rusc a es (utilitzant el meu high-tech-don't-try-this-at-home patentat "errors del misteriós" mètode):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C dades de negoci SharePoint Portal Server 6q4x excepció alta a BusinessDataWebPart.OnPreRender: System.InvalidOperationException: El valor d'identificador ”, de tipus ”, no és vàlid. Valor esperat identificador de tipus "System. String". a Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(L'objecte[] subIdentifierValues, LobSystemInstance lobSystemInstance) a Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entitat de l'entitat, L'objecte[] userValues, LobSystemInstance lobSystemInstance) a Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Veure desiredView) a Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() a Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
He buscat al voltant i va trobar algunes iniciatives en el Fòrum MSDN, però no fos suficient per a mi entendre el que estava fent mal. Vaig veure una transmissió per Ted Pattison que el meu empresa té segur en un servidor i va arribar a realitzar el meu problema.
En la meva ADF, Jo estic connectant a una base de dades SQL com mostrat:
<Propietat Nom="RdbCommandText" Tipus="System.string">
<![CDATA[
SELECCIONEU SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
PAÍS, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CIUTAT, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
COMTAT, ESTAT, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELÈFON, EXTENSIÓ, ENVIAR PER FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG de dbo.PS_CARRIER_ID_VW amb (nolock)
ON
(SETID <> "COMPARTIR") i
(inferior(CARRIER_ID) >= inferior(@MinId)) i
(inferior(CARRIER_ID) <= inferior(@MaxId)) i
(inferior(DESCR) COM més baix(@InputDescr))
]]>
</Propietat>
M'era facilitada que SQL d'una persona DBA i em donen a entendre que és un especial vista que van crear només per a mi. La clau única allà és CARRIER_ID.
Aquí està l'error que em introduït:
<Identificadors>
<Identificador Nom="CARRIER_ID" TypeName="System.string" />
<Identificador Nom="DESCR" TypeName="System.string" />
</Identificadors>
En algun lloc al llarg de la línia, Me les vaig arreglar confondre-me sobre el significat de <Identificadors> i afegeix el descriptor tot i que no és en realitat un identificador. Prenia DESCR fora el conjunt d'identificadors i presto! Que tot funcionava.
Espero que això estalviï una mica de dolor a algú 🙂