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:
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 🙂
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?
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.