Arxius de la categoria: BDC

Punta ràpida: Números de versió de BDC ADF són el seu amic

Si vostè està mà-codificació ADF arxius i fent un munt de codi/importació/prova cicles, Utilitzi el nombre de versió per fer més fàcil la seva vida.

No m'agrada admetre-ho, però fins que aquesta setmana, Sempre es va suprimir l'ADF i tornar a importar-lo. Això seria trencar la meva columnes de dades de negoci i fer-me tornar a ells de filferro. Tot innecessària.

Arxivi això sota "és obvi una vegada que vegi això".

Exemple:

<LobSystem
xmlns:XSi="http://www.w3.org/2001/XMLSchema" XSi:schemaLocation="http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Tipus="WebService" Versió="1.2.0.0" Nom="xyzzyDocumentReview" xmlns="http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Canviar d'aquella versió i re-import i la columna de dades de negoci existents utilitza la versió actualitzada automàticament amb cap configuració addicional requerit.

</final>

Subscriure's al meu blog.

Etiquetas de Technorati:

Solució: Selector de BDC Mostra només una columna de resultats

En el meu intents en curs a proporcionar un columna de cerca més útil utilitzant BDC, Em va colpejar una paret amb el selector BDC. Si no ho veig, el Batan Obridor de BDC és similar a un Batan Obridor de gent, excepte que funciona amb columnes de tipus "dades de negoci".

Accedeix el Batan Obridor de fent clic a la icona de llibre obert d'una columna de dades de negoci, com es Mostra:

imatge

La imatge de dalt Mostra una columna de dades de negoci anomenada "Id de Document mestre". La columna està connectada, Via BDC, a un servei web. El servei web torna dues columnes d'informació: ID de document i títol. El propòsit de negoci aquí és oferir una "aquest document es basa en" funció. Usuaris Seleccioneu un mestre"" document i quan salven, un auricular d'esdeveniment Copia els camps de dades meta del Màster referenciat.

Per defecte, el Batan Obridor de BDC aquest aspecte quan busco un document del qual ID = "38":

clip_image002

Això és útil, però no suficient. La gent no pensa en termes d'IDs, van pensar en termes de títols i/o altres dades de metadades. El selector li permet buscar en altres columnes (e. g. Títol) però no es mostrarà la llista actual dels títols que s'ha trobat, només les seves DocId és com es mostra aquí:

clip_image002[1]

(La captura de pantalla no és tan gran, perquè no agafar una recerca que retorna resultats vàlids, però es pot veure que si que havia trobat alguns resultats, això només seria han demostrat de DocId, no títols).

He buscat alta i baixa per la resposta a això i fallava. El meu col lega, el venerable Jonathan Bradshaw, tenia davant i resoldre aquest problema. Quan he d'arribar a ell per ajuda, ell em va assenyalar en la direcció correcta.

Configurar el selector per mostrar columnes múltiples via "ShowInPicker" propietat a l'ADF:

<Propietat Nom="ShowInPicker" Tipus="System.boolean">True</Propietat>

Amb més detall:

  <!-- Títol -->
  <TypeDescriptor TypeName="System.string" Nom="Títol" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Títol</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Propietats>
      <Propietat Nom="DisplayByDefault" Tipus="System.boolean">True</Propietat>
      <Propietat Nom="ShowInPicker" Tipus="System.boolean">True</Propietat>
    </Propietats>
  </TypeDescriptor>

Definir aquesta propietat introduir un problema menor. Tan aviat com s'estableix una vegada, cal posar-lo per a cada columna que vulgueu mostrar. En el meu cas, Selector BDC mostrava DocId per defecte. No obstant això, una vegada que afegia "ShowInPicker" per títol, Ell ja no es mostren. Que resolia explícitament establint la propietat ShowInPicker per a Doc ID.

Aquí és el resultat:

imatge

(Vaig a explicar el estrany aspecte "168 – CamlSchema.xsd" construcció en un futur bloc. En poques paraules, és una cadena concatenades que té en compte un mica millor experiència d'usuari).

Clar, Després d'haver escrit aquesta entrada del bloc, Només feia una recerca de "ShowInPicker" i trobar nombrosos hits, incloent-hi aquest: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Explica el significat d'aquesta propietat, juntament amb algunes altres bones coses BDC.

</final>

Subscriure's al meu blog!

Etiquetas de Technorati:

Solució al fracàs d'importació del BDC ADF: “S'ha produït el següent error:”

Una vegada més va ser elaboració arxius BDC ADF a mà (Així que poden acumular meu "baixar el meu jardí!" Cred) i colpeixi aquest error encantadora:

imatge

"Importació de definició d'aplicació fracassada. S'ha produït el següent error:"

Com es pot veure, hi ha un error, però … no va a dir-me quin és.

En el meu cas, la qüestió va resultar que tenia començava amb una ADF funcional per a un projecte diferent que connectat a una base de dades i executar una consulta SQL contra una visió. En aquest nou projecte, Vaig a trucar a un mètode a un servei web. Havia despullat de la matèria específica de DB i afegir la meva matèria de servei web, però no ha pogut actualitzar la <LobSystem>de l'atribut de tipus. Em vaig canviar a "WebService" i feliçment continuava a errors d'importació més nous i més emocionant, que van ser manejat properament.

Heus aquí el LobSystem malament:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema
XSi:schemaLocation =http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Tipus = "base de dades"
Versió = "1.0.0.0" Nom = "xyzzy"
xmlns ="
http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Això és correcte:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema
XSi:schemaLocation =http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Tipus = "WebService"
Versió = "1.0.0.0" Nom = "xyzzy"
xmlns ="
http://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

</final>

Etiquetas de Technorati:

BDC sembla un reemplaçament Viable per a cerques

ACTUALITZACIÓ: Aquest anunci de MSDN té algunes interessants observacions des JXJ basat en el seu, principalment negatives, experiències anant per aquest camí: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Disposem d'un escenari de negoci on cal enllaçar dues biblioteques de documents mitjançant un comú "ID de document" camp.

Sovint utilitzem una columna de cerca que implementa enllaços com aquest. Hi ha diversos inconvenients a les columnes de cerca, tres de les quals es:

  1. Només una columna de la biblioteca de consulta de cerca es pot relacionar.
  2. Rendiment: La biblioteca d'origen pot contenir centenars d'entrades. Això és massa entrades en la cerca.
  3. Cerca: No hi ha cap cerca integrada. No em refereixo en el sentit de molsa de cerca, però no hi ha cap manera de buscar / filtrar en diverses columnes de la biblioteca de document font i localitzar l'enllaç que voleu.

Recolzat per BDC, podem utilitzar unes dades de negoci"" tipus de columna i proporciona una recerca superior i fins i tot permet múltiples columnes de dades que apareixen a les visualitzacions de llista.

He tingut algun èxit preliminar amb aquest enfocament i pla a escriure més sobre això.

Si he treballat aquest angle abans i teniu algun comentari, Si us plau comparteixi!

</final>

Etiquetas de Technorati:

Solució per Error d'importació BDC: “No ha pogut carregar el tipus descrit pel TypeName del TypeDescriptor …”

He estat treballant amb BDC avui, Codificant arxius ADF a mà i generant-me alguns errors. Un tal error:

Fallat la Importaci definició aplicació. S'ha produït el següent error: No ha pogut carregar el tipus descrit pel TypeName del TypeDescriptor. Nom del paràmetre: typeName Error s'ha trobat a o just abans de línia: ' 35’ i la posició: '20'.

MOSS apareix aquest error quan intentava importar el fitxer ADF XML.

He investigat la Internets i va trobar que jo estava referenciant el nom d'instància LOB (des de la <LobSystemInstance>) en el meu <TypeDescriptor> node quan ha he referenciat el propi nom LOB (des de <LobSystem>).

Malament:

<El TypeDescriptor TypeName="Conchango.KeyValue, Nom d'instància LOB" Nom = "KeyValue">

Corregir:

<El TypeDescriptor TypeName="Conchango.KeyValue, Nom LOB" Nom = "KeyValue">

Espero que aquest algú estalvia una hora o dues de temps.

</final>

Subscriure's al meu blog!

Etiquetas de Technorati:

Un error de temps d'execució del servei BDC ha explicat

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:

clip_image001

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ú 🙂

Etiquetas de Technorati: , , ,

BDC ADF i el seu amic, CDATA

M'he adonat alguns maldestre i innecessari mà-codificació de RdbCommandText en alguns exemples (inclosos documentació de MSDN).

Volia assenyalar els nouvinguts a BDC que comandes poden ser embolicat en una etiqueta CDATA al seu natural"" formulari. Així, Aquesta construcció maldestre:

<Propietat Nom="RdbCommandText" Tipus="System.string">
Seleccioneu dbo.MCRS_SETTLEMENT.ID, DBO.MCRS_SETTLEMENT.Settlement de dbo.MCRS_SETTLEMENT
ON (ID &gt;= @MinId) I (ID &lt;= @MaxId)
</Propietat>

es pot representar millor d'aquesta manera:

<Propietat Nom="RdbCommandText" Tipus="System.string">
<![CDATA[
Seleccioneu dbo.MCRS_SETTLEMENT.ID, DBO.MCRS_SETTLEMENT.Settlement de dbo.MCRS_SETTLEMENT
ON (ID >= @MinId) I (ID <= @MaxId)
]]>
</Propietat>

</final>

Imprimació BDC

Introducció al BDC

Exemple funcional: ADF BDC que connecta a la base de dades SQL amb l'identificador d'usuari incrustat i contrasenya

Necessitava fer cables a molsa a una base de dades SQL mitjançant BDC. Per a propòsits de testatge/POC, Jo volia per incrustar el SQL compte d'usuari id i contrasenya a l'ADF. Començant amb Aquesta plantilla (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), He creat un ADF que connecta a un exemple de servidor SQL particular i entra amb un usuari concret id i contrasenya i es mostra en aquest fragment:

  <LobSystemInstances>
    <LobSystemInstance Nom="ClaimsInstance">
      <Propietats>
        <Propietat Nom="AuthenticationMode" Tipus="System.string">Passarel</Propietat>
        <Propietat Nom="DatabaseAccessProvider" Tipus="System.string">SqlServer</Propietat>
        <Propietat Nom="Origen de dades de RdbConnection" Tipus="System.string">serveractual real instància</Propietat>
        <Propietat Nom="Catàleg d'inicial de RdbConnection" Tipus="System.string">present inicial catàleg</Propietat>
        <Propietat Nom="RdbConnection integrat de seguretat" Tipus="System.string">SSPI</Propietat>
        <Propietat Nom="Agrupació de RdbConnection" Tipus="System.string">fals</Propietat>

        <!-- Aquests són els valors de la claus: -->
        <Propietat Nom="Identificador d'usuari de RdbConnection" Tipus="System.string">unctual Identificador d'usuari</Propietat>
        <Propietat Nom="Contrasenya de RdbConnection" Tipus="System.string">Contrasenya present</Propietat>
        <Propietat Nom="RdbConnection Trusted_Connection" Tipus="System.string">fals</Propietat>

      </Propietats>
    </LobSystemInstance>
  </LobSystemInstances>

No és una pràctica millor, però és útil per a una configuració ràpida i senzilla per a les proves. Això era sorprenentment difícil d'esbrinar. Mai he trobat un exemple funcional amb keywords de recerca:

  • ADF incrustat userid i contrasenya
  • arrelen identificador d'usuari i contrasenya a adf
  • arrelen identificador d'usuari i contrasenya a adf bdc
  • SharePoint bdc primer
  • SharePoint arrelen identificador d'usuari i contrasenya a adf

</final>

Subscriure's al meu blog.