Un error de tiempo de ejecución BDC explicado

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:

clip_image001

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 🙂

Etiquetas de Technorati: , , ,

2 pensamientos sobre "Un error de tiempo de ejecución BDC explicado

  1. Paul Galvin

    Pieter, te probalby esto resuelto por ahora, pero mi conjetura es que podría estar relacionado con la definición en el back-end. Tal vez el propio campo SQL se limita a 60 caracteres? Algo así como?

    Respuesta
  2. Pieter Veenstra

    Hola,

    Tengo un problema con un BDC, y me pregunto si puede ayudar con esto?

    Estoy usando dos campos de identifiier ( un número y un campo de descripción), Cuando se supera el número total de caracteres 60 Estoy recibiendo los errores foollowing:

    Valor de texto no válido

    Un campo de texto contiene datos no válidos. Comprobar el valor y vuelva a intentarlo.

    Entiendo que este límite de 60 caracteres proviene de? y cómo solucionar este problema?

    Actualmente estoy limitación de la descripción de tal manera que no exceda el número total de caracteres 60.

    Respuesta

Leave a Reply a Pieter Veenstra Cancelar respuesta

su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *