Kategorija Arhiva: BDC

Quick Savjet: BDC ADF verzija brojevi su Your Friend

Ako ste ručno kodiranje ADF datoteke i radi puno koda / uvoz / ispitnih ciklusa, use the version number to make your life easier.

Mrzim to priznati, ali dok ovaj tjedan, I was always deleting the ADF and re-importing it. This would break my business data columns and make me re-wire them. All unnecessary.

File this under "it’s obvious once you see it".

Primjer:

<LobSystem
xmlns:Rebel="http://www.w3.org/2001/XMLSchema-instance" Rebel:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Tip="WebService" Verzija="1.2.0.0" Ime="xyzzyDocumentReview" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

Promjena tu verziju i ponovno uvesti, a postojeći poslovni podatkovni stupac koristi ažuriranu verziju automatski, bez dodatnih konfiguracija potrebna.

</kraj>

Pretplatite se na moj blog.

Technorati Tags:

Otopina: BDC Picker Pokazuje samo jedan stupac rezultata

U mojim o ovim pokušajima pružanje više koristan pretraživanje stupac pomoću BDC, I hit a wall with the BDC picker. If you haven’t see it, the BDC picker is similar to a people picker except that it works with columns of type "business data".

Možete pristupiti berač klikom na otvorenoj knjizi ikonu u stupcu poslovnih podataka kao što je prikazano:

slika

The above image shows a business data column called "Master Document Id". That column is connected, putem BDC, to a web service. The web service returns two columns of information: Document ID and Title. The business purpose here is to provide a "this document is based on" funkcija. Users select a "master" dokument i kada su spasiti, nekog događaja prijamnik kopije meta podataka polja iz navedenog majstora.

Po defaultu, the BDC picker looks like this when I search for a document whose ID = "38":

clip_image002

To je korisno, but not good enough. People don’t think in terms of IDs, they think in terms of titles and/or other meta data. The picker allows you to search on other columns (e.g. Naslov) ali neće pokazati stvarni popis naslova se nalaze, Upravo njihova DocId kao je prikazano ovdje:

clip_image002[1]

(Zaslon metak nije tako velik, jer nisam pokupiti traži da se vraća nikakve valjane rezultate, ali možete vidjeti da li je pronašao neke rezultate, to bi samo pokazala DocId je, ne naslova).

I searched high and low for the answer to this and failed. Moj kolega, časni Jonathan Bradshaw, had faced and solved this issue. When I reached out to him for help, on mi je ukazao u pravom smjeru.

Configure the picker to show multiple columns via the "ShowInPicker" Objekt u ADF:

<Svojstvo Ime="ShowInPicker" Tip="System.Boolean">pravi</Svojstvo>

U detaljnije:

  <!-- Naslov -->
  <TypeDescriptor TypeName="System.String" Ime="Naslov" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Naslov</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Svojstva>
      <Svojstvo Ime="DisplayByDefault" Tip="System.Boolean">pravi</Svojstvo>
      <Svojstvo Ime="ShowInPicker" Tip="System.Boolean">pravi</Svojstvo>
    </Svojstva>
  </TypeDescriptor>

Setting this property does introduce a minor problem. As soon as you set it once, you need to set it for every column you want to show. U mom slučaju, BDC picker showed DocId by default. Međutim, once I added "ShowInPicker" na Naslov, DocId no longer displayed. I solved that by explicitly setting the ShowInPicker property for Doc ID.

Ovdje je rezultat:

slika

(I’ll explain the odd-looking "168 – CamlSchema.xsd" construction in a future blog post. In short, to ulančani niz koji omogućuje za nešto bolje korisničko iskustvo).

Naravno, nakon što je napisao ovaj blog post, I just did a search for "ShowInPicker" i pronašao brojne hitove, pa i ova: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.

</kraj>

Pretplatite se na moj blog!

Technorati Tags:

Rješenje za BDC ADF-Import neuspjeh: “Sljedeća greška:”

Bio sam jednom lukavost BDC ADF datoteke rukom (tako da mogu izgraditi my "Silazim moj travnjak!" Ja) i pogodio ovu lijepu pogreške:

slika

"Application definition import failed. Sljedeća greška:"

Kao što možete vidjeti, postoji greška, ali … to ne ide mi reći što je to.

U mom slučaju, the issue turned out that I had started off with a functional ADF for a different project that connected to a database and executed a SQL query against a view. In this new project, I am calling a method on a web service. I had stripped out the DB specific stuff and added my web service stuff, , ali nije uspio ažurirati <LobSystem>’s Type attribute. I switched it to "WebService" i ja rado preselio na novije i uzbudljivije uvoznih pogrešaka, koje su obrađene u dogledno vrijeme.

Ovdje je u krivu LobSystem:

<LobSystem
xmlns:Rebel =http://www.w3.org/2001/XMLSchema-instance
Rebel:schemaLocation =http://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Type="Database"
Version="1.0.0.0" Name="xyzzy"
xmlns="
http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

To je ispravan:

<LobSystem
xmlns:Rebel =http://www.w3.org/2001/XMLSchema-instance
Rebel:schemaLocation =http://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Type="WebService"
Version="1.0.0.0" Name="xyzzy"
xmlns="
http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

</kraj>

Technorati Tags:

BDC Čini Održive zamjena za lookups

UPDATE: Ovaj MSDN objavljivanja ima neke zanimljive primjedbe iz JXJ na temelju njegove, uglavnom negativno, Iskustva ide dolje ovaj put: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

We have a business scenario where we need to link two documents libraries via a common "document ID" polje.

We often use a lookup column to implements links like this. There are several drawbacks to lookup columns, od kojih su tri:

  1. Only one column from the lookup lookup library can be linked.
  2. Performanse: The source library could contain hundreds of entries. That’s too many entries in the lookup.
  3. Traži: There is no integrated search. I don’t mean in the MOSS sense of search, ali ne postoji način da se traži / filtrirati po više stupaca iz knjižnice izvorni dokument i pronađite link koji želite.

Potpomognuti BDC, we can use a "business data" column type and it provides a superior search and even allows multiple columns of data to appear in list views.

Ja sam imao neke preliminarne uspjeh s ovom pristupu, a planiramo pisati više o tome.

Ako ste radili ovaj kut prije i imate bilo kakve komentare, molimo udjela!

</kraj>

Technorati Tags:

Rješenje za BDC Pogreška pri uvozu: “Ne mogu učitati Vrsta opisao TypeDescriptor je TypeName …”

Radio sam s BDC danas, coding ADF files by hand and generating myself some errors. One such error:

Primjena definicija uvoz nije uspio. Sljedeća greška: Ne mogu učitati Vrsta opisao TypeDescriptor je TypeName. Naziv parametra: typeName Greška je naišao na ili neposredno prije Line: '35’ i pozicija: ’20’.

MOSS prikazuju ovu pogrešku kada sam pokušao uvesti datoteku ADF XML.

Ja istraživao internets i utvrdili da sam bio s pozivom na ime LOB instance (od <LobSystemInstance>) u mom <TypeDescriptor> čvora kad sam trebala upućuje uspijeva samo ime (od <LobSystem>).

Pogrešno:

<TypeDescriptor TypeName="Conchango.KeyValue, LOB Ime instance" Name="KeyValue">

Ispravite:

<TypeDescriptor TypeName="Conchango.KeyValue, LOB Ime" Name="KeyValue">

Nadam se da ovo netko štedi sat ili dva vremena.

</kraj>

Pretplatite se na moj blog!

Technorati Tags:

BDC runtime error objasnio

Ja izazvao BDC pogrešku ovog tjedna da se očituje o korisničkom sučelju i 12 Grozd log tijekom izvršavanja.

Prvi, to se pojavio u korisničkom sučelju:

Ne mogu pronaći stavke za umetanje sve identifikatora vrijednosti pravilno izvršiti SpecificFinder MethodInstance s Ime … Osigurajte ulazni parametri moraju TypeDescriptors povezane sa svakom Identifier definirane za ovog entiteta.

Ovdje je screen shot:

clip_image001

Ja se također može uzrokovati ovu poruku da se pojavi u 12 Grozd log po volji (using my patented high-tech-don’t-try-this-at-home "mysterious errors" način):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Identifier vrijednost ”, Tipa ”, je nevažeći. Expected Identifier value of Type ‘System.String’. na Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, LobSystemInstance lobSystemInstance) na Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entitetska entitet, Objekt[] userValues, LobSystemInstance lobSystemInstance) na Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Pogledajte desiredView) na Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() na Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Tražio sam okolo i naći neke ponude u MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison da je moja društvo squirreled je daleko na poslužitelju i shvatio moj problem.

U mom ADF, Ja sam spajanje na SQL bazi podataka kao što je prikazano:

            <Svojstvo Ime="RdbCommandText" Tip="System.String">
              <![CDATA[
                SELECT
                      , CARRIER_ID, EFFDT, Descr, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      DRŽAVA, Address1, Adresa2, ADDRESS3, ADDRESS4, GRAD, NUM1, Num2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      ŽUPANIJA, DRŽAVNA, POŠTANSKI, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, PROŠIRENJE, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                GDJE
                  (SETID <> 'Dijele') i
                  (sniziti(CARRIER_ID) >= Niži(@ MinId)) i
                  (sniziti(CARRIER_ID) <= Niži(@ MaxId)) i
                  (sniziti(Descr) Kao što su niže(@ InputDescr))
                ]]>
            </Svojstvo>

Bio sam pod uvjetom da iz SQL DBA osobe, a ja sam dao razumjeti da je poseban view they created just for me. The unique key there is CARRIER_ID.

Ovdje je bug sam uveo:

      <Identifikatora>
        <Identifier Ime="CARRIER_ID" TypeName="System.String" />
        <Identifier Ime="Descr" TypeName="System.String" /> 
</Identifikatora>

Negdje duž linije, I uspjela sam se zbuniti oko značenja <Identifikatora> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Sve je radio.

I hope this saves someone some grief 🙂

Technorati Tags: , , ,

BDC ADF i tvoj prijatelj, CDATA

Primijetio sam neke neugodne i nepotrebne ruku kodiranje RdbCommandText u nekim primjerima (uključujući i dokumentaciju MSDN).

I wanted to point out to newcomers to BDC that commands can be wrapped inside a CDATA tag in their "natural" form. Tako, to nezgodna izgradnju:

<Svojstvo Ime="RdbCommandText" Tip="System.String">
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement od dbo.MCRS_SETTLEMENT
GDJE (id &gt;= @MinId) I (id &Bilo;= @ MaxId)
</Svojstvo>

može biti bolje zastupljeni na ovaj način:

<Svojstvo Ime="RdbCommandText" Tip="System.String">
<![CDATA[
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement od dbo.MCRS_SETTLEMENT
GDJE (id >= @MinId) I (id <= @ MaxId)
]]>
</Svojstvo>

</kraj>

Primjer BDC

Uvod u BDC

Funkcionalna Primjer: BDC ADF koji se spaja na SQL bazu podataka s ugrađenim korisničko ime i lozinku

I needed to wire up MOSS to a SQL database via BDC. For testing/POC purposes, I wanted to embed the SQL account user id and password in the ADF. Starting with Ovaj predložak (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), I stvorio ADF-a koji se povezuje s određenom SQL poslužiteljem i prijavljuje sa specifičnim korisničko ime i lozinku i prikazano u ovom isječku:

  <LobSystemInstances>
    <LobSystemInstance Ime="ClaimsInstance">
      <Svojstva>
        <Svojstvo Ime="AuthenticationMode" Tip="System.String">Prolaz</Svojstvo>
        <Svojstvo Ime="DatabaseAccessProvider" Tip="System.String">SQLServer</Svojstvo>
        <Svojstvo Ime="RdbConnection Izvor podataka" Tip="System.String">Stvarni poslužitelj  stvarna instanca</Svojstvo>
        <Svojstvo Ime="RdbConnection Početni Katalog" Tip="System.String">stvarna početna kataloga</Svojstvo>
        <Svojstvo Ime="RdbConnection Integrirana sigurnost" Tip="System.String">SspI</Svojstvo>
        <Svojstvo Ime="RdbConnection Ujedinjavanje" Tip="System.String">lažan</Svojstvo>

        <!-- To su ključne vrijednosti: -->
        <Svojstvo Ime="RdbConnection ID korisnika" Tip="System.String">actual ID korisnika</Svojstvo>
        <Svojstvo Ime="Lozinka RdbConnection" Tip="System.String">Stvarni Lozinka</Svojstvo>
        <Svojstvo Ime="RdbConnection Trusted_Connection" Tip="System.String">lažan</Svojstvo>

      </Svojstva>
    </LobSystemInstance>
  </LobSystemInstances>

To nije dobra praksa, but it’s useful for a quick and simple configuration for testing. This was surprisingly difficult to figure out. I never found a functional example with search keywords:

  • ADF ugrađen userid i lozinku
  • položiti korisničko ime i lozinku u ADF
  • položiti korisničko ime i lozinku u ADF BDC
  • SharePoint BDC primer
  • SharePoint položiti korisnički ID i lozinku u ADF

</kraj>

Pretplatite se na moj blog.