Archívy kategórie: KATALÓGU PRACOVNÝCH ÚDAJOV

Rýchly Tip: Čísla verzií BDC ADF je tvoj priateľ

Ak ste si ruka-kódovanie ADF súborov a robí veľa kód/import testovacích cyklov, použiť číslo verzie, aby váš život jednoduchší.

Nesnáším to priznať, ale kým tento týždeň, Bol vždy odstránenie ADF a opätovný import. By sa zlomiť moje stĺpce obchodných údajov a ma znovu drôt im. Všetky zbytočné.

Súbor pod "je zrejmé, keď vidíte, že".

Príklad:

<Systém LobSystem
xmlns:XSI="http://www.w3.org/ 2001/XMLSchema-stupňa" XSI:umiestnenie schémy="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Typ="WebService" Verzia="1.2.0.0" meno="xyzzyDocumentReview" xmlns="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Zmeniť túto verziu a znova importovať a existujúceho stĺpca obchodných údajov používa aktualizovaná verzia automaticky s žiadna ďalšia konfigurácia požadovaných.

</koniec>

Vyberajte môj blog.

Roztok: BDC Picker zobrazuje iba jeden stĺpec z výsledkov

V mojej pokusy prebieha na poskytovanie Ďalšie užitočné vyhľadávacieho stĺpca pomocou BDC, Som narazil do steny s BDC zberač. Nemáte-li vidieť, BDC picker je podobný nástroj na výber osôb, s výnimkou, že to funguje s stĺpce typu "obchodných údajov".

Máte prístup výber kliknutím na ikonu otvoriť knihu stĺpca obchodných údajov, ako je uvedené:

obrázok

Vyššie uvedený obrázok ukazuje stĺpca obchodných údajov s názvom "Master dokumentu Id". Tento stĺpec je pripojený, cez BDC, k webovej službe. Webová služba vráti dva stĺpce informácií: Identifikáciu dokumentu a názov. Obchodné účely tu je poskytnúť "Tento dokument je založený na" Funkcia. Užívatelia si vybrať "master" dokumentov a kedy sa zachrániť, príjemca udalostí skopíruje meta údajové polia z odkazovanej predlohy.

V predvolenom nastavení, BDC picker vyzerá, keď som hľadať pre dokument, ktorého ID = "38":

clip_image002

Je to užitočné, ale nie dosť dobré. Ľudia si nemyslím z hľadiska identifikácie, myslí si, že názvy a/alebo iných metaúdajov. Výber vám umožní Hľadať na iných stĺpcoch (napr.. Hlava) ale nebude ukazovať skutočnú Zoznam titulov zistilo, len ich DocId je znázornené tu.:

clip_image002[1]

(Screen shot nie je tak veľký, pretože si nevybral to vráti akékoľvek platné výsledky vyhľadávania, ale môžete vidieť, že ak to zistila niektoré výsledky, bolo by len ukázali DocId's, nie titulov).

Hľadali vysoké a nízke pre odpoveď na túto otázku a zlyhala. Môj kolega, úctyhodný Jonathan Bradshaw, musel čeliť a vyriešiť tento problém. Kedy som natiahol k nemu o pomoc, poukázal na mňa správnym smerom.

Nastaviť výber na zobrazenie viacerých stĺpcov pomocou "ShowInPicker" Nehnuteľnosť v ADF:

<Vlastnosť meno="ShowInPicker" Typ="System.Boolean">pravda</Vlastnosť>

Podrobnejšie:

  <!-- Hlava -->
  <Objekt triedy TypeDescriptor Atribút TypeName="System.string" meno="Hlava" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Hlava</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Vlastnosti>
      <Vlastnosť meno="DisplayByDefault" Typ="System.Boolean">pravda</Vlastnosť>
      <Vlastnosť meno="ShowInPicker" Typ="System.Boolean">pravda</Vlastnosť>
    </Vlastnosti>
  </Objekt triedy TypeDescriptor>

Nastavenie tejto vlastnosti zaviesť drobný problém. Akonáhle nastavíte to raz, je potrebné nastaviť pre každý stĺpec, ktorý chcete zobraziť. V mojom prípade, BDC výber ukázal DocId v predvolenom nastavení. Avšak, Akonáhle som pridal "ShowInPicker" titul, DocId už nie je zobrazený. Vyriešil som to nastavením výslovne ShowInPicker Nehnuteľnosť ID Doc.

Tu je výsledok:

obrázok

(Budem vysvetľovať vyzerajúcich "168 – CamlSchema.xsd" stavby v budúcnosti blogu. V skratke, je to zreťazené reťazec, ktorý umožňuje pre mierne lepší užívateľský zážitok).

samozrejme, napísala tento blog vstupe, Urobil som hľadanie "ShowInPicker" a našiel mnoho hitov, vrátane tohto: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. To vysvetľuje význam tohto majetku spolu s niektoré ďalšie dobré veci BDC.

</koniec>

Vyberajte môj blog!

Riešenie pre zlyhania importu BDC ADF: “Vyskytla sa nasledujúca chyba:”

Bola opäť crafting BDC ADF súbory ručne (tak, že môžete vybudovať svoje "Vystúpte môj trávnik!" Cred) a hit tejto krásnej chyba:

obrázok

"Zlyhal import definície aplikácie. Vyskytla sa nasledujúca chyba:"

Ako môžete vidieť, tam je chyba, ale … nie je to mi povedať, čo to je.

V mojom prípade, problém sa ukázalo, že som mal vyrazil s funkčné ADF pre iný projekt, ktorý pripojené k databáze a popravený SQL dotaz proti zobrazenie. V tomto novom projekte, Som volá metódu na webovej službe. Mal odrátať DB špecifické veci a pridal môj web služby veci, ale nepodarilo sa aktualizovať <Systém LobSystem>je typ atribútu. Som prešiel na "WebService" a som šťastne presunul do novšie a viac vzrušujúce import chyby, ktoré boli riešené včas.

Tu je zlý systém LobSystem:

<Systém LobSystem
xmlns:XSI =http://www.w3.org/ 2001/XMLSchema-stupňa
XSI:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Typ = "databáza"
Verzia = "1.0.0.0" Meno = "xyzzy minového"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

To je správne:

<Systém LobSystem
xmlns:XSI =http://www.w3.org/ 2001/XMLSchema-stupňa
XSI:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Typ = "WebService"
Verzia = "1.0.0.0" Meno = "xyzzy minového"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

</koniec>

BDC sa zdá byť životaschopný náhradou pre vyhľadávanie

AKTUALIZÁCIA: Toto vysielanie MSDN má niektoré zaujímavé postrehy z JXJ na základe jeho, hlavne negatívne, skúsenosti ísť touto cestou: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Máme obchodné scenáre, kde musíme prepojiť dva dokumenty knižnice prostredníctvom spoločnej "identifikácie dokumentu" pole.

Sme často používať vyhľadávací stĺpec implementuje odkazy takhle. Existuje niekoľko nevýhod sa vyhľadávacie stĺpce, tri sú:

  1. Je možné prepojiť iba jeden stĺpec z vyhľadávaním vyhľadávanie Knižnica.
  2. Výkon: Zdrojová knižnica môže obsahovať stovky položiek. To je príliš veľa položiek vyhľadávania.
  3. Hľadať: Nie je integrované vyhľadávanie. Nemám na mysli v MOSS zmysel Hľadať, ale neexistuje spôsob, ako Hľadať / filtrovať podľa viacerých stĺpcov zo zdrojového dokumentu knižnica a vyhľadajte požadované prepojenie.

Podporené BDC, môžeme použiť "obchodné údaje" Typ stĺpca, a to poskytuje lepšie hľadať spôsoby a dokonca povoľuje viaceré stĺpce údajov sa objaví v zobrazenia zoznamu.

Mal som nejaké predbežné úspech s týmto prístupom a pláne písať viac o tom.

Ak ste pracovali tento uhol pred a žiadne komentáre, Prosím, podeľte sa!

</koniec>

Riešenie Chyba importu BDC: “Nebolo možné načítať typ popísaný parametrom TypeName objektu TypeDescriptor …”

Bol som pracovať s BDC dnes, kódovanie ADF súbory ručne a vytvára sám nejaké chyby. Jedna takáto chyba:

Zlyhal import definície aplikácie. Vyskytla sa nasledujúca chyba: Nebolo možné načítať typ popísaný parametrom TypeName objektu TypeDescriptor. Názov parametra: atribút typeName chyba sa vyskytla na alebo tesne pred riadok: "35’ a postavenie: "20".

MOSS objaví táto chyba pri pokuse o importovanie súboru ADF XML.

Skúmal internety a zistil, že bol som odkazovanie názov inštancie LOB (od <LobSystemInstance>) v mojej <Objekt triedy TypeDescriptor> uzol, keď už mali odkazuje sám názov LOB (z <Systém LobSystem>).

Zle:

<Objekt TypeDescriptor TypeName="Conchango.KeyValue, Názov inštancie LOB" Meno = "KeyValue">

Správne:

<Objekt TypeDescriptor TypeName="Conchango.KeyValue, LOB meno" Meno = "KeyValue">

Dúfam, že ten niekto šetrí hodinu alebo dve časové.

</koniec>

Vyberajte môj blog!

BDC runtime chyba vysvetlil

Som spôsobil chybu BDC tento týždeň, ktorá sa prejavila na užívateľské rozhranie a v 12 úľ denníka v režime runtime.

Prvá, to sa objavil v používateľskom rozhraní:

Nebolo možné nájsť polia na vloženie všetkých hodnôt identifikátorov na správne spustenie procedúry MethodInstance nástroja SpecificFinder s názvom … Zabezpečiť vstupné parametre priradené všetkým identifikátorom definovaným pre túto entitu objekty TypeDescriptor ku.

Tu je náhľad obrazovky:

clip_image001

Tiež môže spôsobiť Táto správa sa objaví v 12 úľ prihlásiť sa (používať môj patentovaný high-tech-don't-try-this-at-home "záhadné chyby" metóda):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x vysoké výnimku v BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Hodnota identifikátora ”, typu ”, je neplatný. Očakávanú hodnotu identifikátora typu System.String. v Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, Inštancia LobSystemInstance lobSystemInstance) v Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entita jednotka, Objekt[] userValues, Inštancia LobSystemInstance lobSystemInstance) v Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Zobraziť desiredView) v Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() v Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Hľadal a našiel niektoré vedie v Fórum MSDN, ale oni neboli dosť pre mňa pochopiť, čo robím zle. Díval som sa na vysielanie podľa Ted Pattison že môj spoločnosť má ďaleko squirreled na serveri a prišiel si uvedomiť, môj problém.

V mojom ADF, Som pripojenie k databáze SQL, ako je uvedené:

            <Vlastnosť meno="RdbCommandText" Typ="System.string">
              <![CDATA[
                VYBERTE SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      KRAJINY, IKT1, ADDRESS2, ADDRESS3, ADDRESS4, MESTO, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      KRAJ, ŠTÁT, POŠTOVÉ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFÓN, ROZŠÍRENIE, FAXOVANIE, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG z dbo.PS_CARRIER_ID_VW s (nolock)
                KDE
                  (SETID <> "ZDIEĽANIE") a
                  (Dolné(CARRIER_ID) >= nižšia(@MinId)) a
                  (Dolné(CARRIER_ID) <= nižšia(@ MaxId)) a
                  (Dolné(DESCR) AKO nižšie(@InputDescr))
                ]]>
            </Vlastnosť>

Bola za predpokladu že SQL DBA osoby a som im pochopiť, že je špeciálne zobrazenie vytvorené len pre mňa. Jedinečný kľúč, ktorý nie je CARRIER_ID.

Tu je chyba som predstavil:

      <Identifikátory>
        <Identifikátor meno="CARRIER_ID" Atribút TypeName="System.string" />
        <Identifikátor meno="DESCR" Atribút TypeName="System.string" /> 
</Identifikátory>

Niekde pozdĺž línie, Mal sa podarilo zameniť sám v zmysle <Identifikátory> a pridal DESCR, aj keď to nie je vlastne identifikátor. Vzal som si DESCR z identifikátorov množiny a presto! To všetko fungovalo.

I hope this saves someone some grief 🙂

BDC ADF a váš priateľ, CDATA

Som si všimol, niektoré trápne a zbytočné ruka-kódovanie RdbCommandText v niektorých príkladov (vrátane dokumentáciu MSDN).

Som chcel poukázať na nováčikov v katalógu pracovných údajov, že príkazy sa môže natočiť vnútri CDATA značku v prirodzenom"" formulár. Takže, táto nepríjemná konštrukcie:

<Vlastnosť meno="RdbCommandText" Typ="System.string">
Vyberte dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement z dbo.MCRS_SETTLEMENT
KDE (Identifikácia &gt;= @ MinId) A (Identifikácia &lt;= @ MaxId)
</Vlastnosť>

môže byť lepšie zastupované týmto spôsobom:

<Vlastnosť meno="RdbCommandText" Typ="System.string">
<![CDATA[
Vyberte dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement z dbo.MCRS_SETTLEMENT
KDE (Identifikácia >= @ MinId) A (Identifikácia <= @ MaxId)
]]>
</Vlastnosť>

</koniec>

Primer katalógu pracovných údajov

Úvod do katalógu pracovných údajov

Funkčné príklad: BDC ADF, ktorý sa pripojí k databáze SQL vložené užívateľské meno a heslo

Potreboval som drôtu do MACHU do SQL databázy cez BDC. Na účely testovania/POC, Som chcel vložiť SQL užívateľské id a heslo konta v ADF. Počnúc Táto šablóna (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Som vytvoril automatický podávač dokumentov, ktoré sa pripojí k inštancia SQL server a zapisuje špecifické užívateľské meno a heslo a tento úryvok:

  <LobSystemInstances>
    <LobSystemInstance meno="ClaimsInstance">
      <Vlastnosti>
        <Vlastnosť meno="AuthenticationMode" Typ="System.string">Prechádzania</Vlastnosť>
        <Vlastnosť meno="DatabaseAccessProvider" Typ="System.string">SqlServer</Vlastnosť>
        <Vlastnosť meno="Zdroj údajov RdbConnection" Typ="System.string">skutočné serveractual stupňa</Vlastnosť>
        <Vlastnosť meno="RdbConnection počiatočná katalóg" Typ="System.string">skutočný počiatočný katalóg</Vlastnosť>
        <Vlastnosť meno="RdbConnection integrované zabezpečenia" Typ="System.string">ROZHRANIA SSPI</Vlastnosť>
        <Vlastnosť meno="Spájanie RdbConnection" Typ="System.string">FALSE</Vlastnosť>

        <!-- To sú kľúčové hodnoty: -->
        <Vlastnosť meno="RdbConnection užívateľské meno" Typ="System.string">actual Identifikácia používateľa</Vlastnosť>
        <Vlastnosť meno="RdbConnection heslo" Typ="System.string">aktuálne heslo</Vlastnosť>
        <Vlastnosť meno="RdbConnection Trusted_Connection" Typ="System.string">FALSE</Vlastnosť>

      </Vlastnosti>
    </LobSystemInstance>
  </LobSystemInstances>

Nie je najlepšie praxe, ale je to užitočné pre rýchle a jednoduché nastavenie pre testovanie. Bolo to prekvapivo ťažké vymyslieť. Nikdy som našiel funkčné príklad s vyhľadávanie kľúčových slov:

  • ADF vložené userid a heslo
  • Vložiť identifikáciu používateľa a heslo v adf
  • Vložiť identifikáciu používateľa a heslo v adf katalógu pracovných údajov
  • SharePoint bdc primer
  • SharePoint vložiť identifikáciu používateľa a heslo v adf

</koniec>

Vyberajte môj blog.