Um erro de execução BDC explicado

Eu causou um erro BDC nesta semana que se manifestou na interface do usuário e no 12 log de colméia em tempo de execução.

Primeira, isso apareceu na interface do usuário:

Não foi possível localizar campos para inserir todos os valores de identificador para executar corretamente uma SpecificFinder MethodInstance com nome … Certifique-se de que parâmetros de entrada tem TypeDescriptors associado com cada identificador definido para esta entidade.

Aqui está uma captura de tela:

clip_image001

Eu também poderia causar essa mensagem apareça no 12 log de colméia será (usando meu high-tech-don't-try-this-at-home patenteado "erros misteriosos" Método):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C dados de negócio do SharePoint Portal Server 6q4x alta exceção em BusinessDataWebPart.OnPreRender: System. InvalidOperationException: O valor do identificador ”, do tipo ”, é inválido. Valor de identificador esperado do tipo 'System. String'. em Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objeto[] subIdentifierValues, LobSystemInstance lobSystemInstance) em Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entidade de entidade, Objeto[] userValues, LobSystemInstance lobSystemInstance) em Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Vista desiredView) em Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() em Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Eu procurei e encontrei algumas pistas na Fórum do MSDN, Mas eles não foram suficientes para eu entender o que estava fazendo errado. Eu assisti um webcast por Ted Pattison que meu companhia tem extra disponível em um servidor e veio a perceber o meu problema.

No meu ADF, Estou conectando a um banco de dados SQL como mostrado:

            <Propriedade Nome="RdbCommandText" Tipo="System.">
              <![CDATA[
                SELECIONE SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      PAÍS, ADDRESS1, ENDEREÇO2, 3, ADDRESS4, CIDADE, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      CONDADO DE, ESTADO, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFONE, EXTENSÃO, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG de dbo.PS_CARRIER_ID_VW com (NOLOCK)
                ONDE
                  (SETID <> 'COMPARTILHAMENTO') and
                  (baixa(CARRIER_ID) >= baixa(@MinId)) and
                  (baixa(CARRIER_ID) <= baixa(@MaxId)) and
                  (baixa(DESCR) COMO baixa(@InputDescr))
                ]]>
            </Propriedade>

Eu estava desde o SQL de uma pessoa DBA e eu sou dado a entender que é um especiais vista que eles criaram só para mim. A chave exclusiva lá é CARRIER_ID.

Aqui é o inseto que apresentei:

      <Identificadores de>
        <Identificador de Nome="CARRIER_ID" TypeName="System." />
        <Identificador de Nome="DESCR" TypeName="System." /> 
</Identificadores de>

Em algum lugar ao longo da linha, Eu tinha conseguido confundir-me sobre o significado de <Identificadores de> e acrescentou DESCR, mesmo que não é na verdade um identificador. Eu tirei DESCR o conjunto de identificadores e presto! Deu tudo.

Espero que isso poupe alguma dor de alguém 🙂

Technorati Tags: , , ,

2 pensamentos "Um erro de execução BDC explicado

  1. Paul Galvin

    Pieter, Você probalby isso resolvido por agora, Mas meu palpite é que ele iria estar relacionado com a definição no back-end. Talvez o próprio campo SQL é limitado a 60 chars? Algo assim?

    Resposta
  2. Pieter Veenstra

    Oi,

    Eu tenho um problema com um BDC, e gostaria de saber se você pode ajudar com isso?

    Eu estou usando dois campos identifiier ( um número e um campo de descrição), sempre que o número total de caracteres excede 60 Estou recebendo erros de foollowing:

    Texto inválido valor

    Um campo de texto contém dados inválidos. Por favor, verifique o valor e tente novamente.

    Compreende onde este limite de 60 personagens vem de? e como corrigir este problema?

    Atualmente eu estou limitando a descrição de tal maneira que não exceda o número total de caracteres 60.

    Resposta

Deixar uma resposta

seu endereço de e-mail não será publicado. Campos obrigatórios são marcados *