Se ha producido un error BDC esta semana que se manifiesta en la interfaz de usuario y en la 12 registro de colmena en tiempo de ejecución.
Primero, Esto apareció en la interfaz de usuario:
No se pudo encontrar campos para insertar todos los valores de identificador para ejecutar correctamente una SpecificFinder MethodInstance con nombre … Disponer de parámetros de entrada TypeDescriptors asociados con cada identificador definido para esta entidad.
Aquí hay una captura de pantalla:
Yo también podría causar este mensaje que aparezca en el 12 registro de colmena en va (usando mi high-tech-don't-try-this-at-home patentado "misteriosos errores" método):
11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C datos de SharePoint Portal Server Business 6q4x excepción alta en BusinessDataWebPart.OnPreRender: System.InvalidOperationException: El valor del identificador ”, de tipo ”, no es válido. Valor esperado de identificador de tipo 'System.String'. en Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objeto[] subIdentifierValues, LobSystemInstance lobSystemInstance) en Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entidad de entidad, Objeto[] userValues, LobSystemInstance lobSystemInstance) en Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Vista desiredView) en Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() en Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()
Busqué alrededor y encontrar algunas pistas en el Foro de MSDN, pero no eran suficiente para mí entender lo que estaba haciendo mal. Estuve viendo una transmisión por Ted Pattison que mi empresa ha squirreled lejos en un servidor y llegó a darse cuenta de mi problema.
En mi ADF, Estoy conectando a una base de datos SQL como se muestra:
<Propiedad Nombre="RdbCommandText" Tipo="System.String">
<![CDATA[
SELECCIONE SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
PAÍS, ADDRESS1, 2, ADDRESS3, ADDRESS4, CIUDAD, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
CONDADO DE, ESTADO, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELÉFONO, EXTENSIÓN, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
INTERLINK_DLL, TMS_EXCLUDE_FLG de dbo.PS_CARRIER_ID_VW con (NOLOCK)
DONDE
(SETID <> 'COMPARTIR') y
(inferior(CARRIER_ID) >= menor(@MinId)) y
(inferior(CARRIER_ID) <= menor(@MaxId)) y
(inferior(DESCR) COMO inferior(@InputDescr))
]]>
</Propiedad>
Yo fui siempre que SQL de una persona DBA y dan a entender que es un especial vista que crearon sólo para mí. La única clave que es CARRIER_ID.
Aquí está el error que introdujo:
<Identificadores de>
<Identificador de Nombre="CARRIER_ID" TypeName="System.String" />
<Identificador de Nombre="DESCR" TypeName="System.String" />
</Identificadores de>
En algún lugar a lo largo de la línea, Que había conseguido yo confundir sobre el significado de <Identificadores de> y DESCR aunque no es realmente un identificador. Sacó de DESCR el conjunto de identificadores y presto! Todos los que trabajaron.
Espero que esto ahorra alguien alguna pena 🙂