kategorie Argief: BDC

Vinnige Wenk: BDC ADF weergawe nommers word jou vriend

As jy hand-kodering die ADF lêers en doen 'n baie kode / invoer / toets siklusse, use the version number to make your life easier.

Ek haat dit om te erken, maar tot hierdie week, 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.

Lêer is onder "dit is duidelik wanneer jy dit sien nie".

Voorbeeld:

<LobSystem
xmlns:XSi="http://www.w3.org/2001/XMLSchema-instance" XSi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Tipe="WebService" Weergawe="1.2.0.0" Naam="xyzzyDocumentReview" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

Verander dat die weergawe en re-invoer en die bestaande besigheid data kolom gebruik die opgedateerde weergawe outomaties met geen ekstra verstellings vereis.

</einde>

Skryf in op my blog.

Technorati Tags:

Oplossing: BDC Picker toon slegs een kolom van die resultate

In my aan die gang pogings om die verskaffing van 'n meer bruikbare lookup kolom gebruik van BDC, I hit a wall with the BDC picker. If you haven’t see it, die BDC picker is soortgelyk aan 'n volk plukker, behalwe dat dit werk met kolomme van tipe "bedrijfsgegevens".

Jy toegang tot die plukker deur te kliek op die oop boek ikoon van 'n besigheid datakolom soos getoon:

beeld

The above image shows a business data column called "Master Document Id". That column is connected, via 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" funksie. Users select a "master" dokument en wanneer hulle red, 'n gebeurtenis ontvanger afskrifte meta data velde van die verwysde meester.

By verstek, Die BDC Die plukker lyk soos dit toe ek soek vir 'n dokument wie se ID = "38":

clip_image002

Dit is nuttig, 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 (bijv. Titel) maar dit sal nie toon die werklike lys van titels dit gevind, net hul DocId is soos hier gewys word:

clip_image002[1]

(Die skerm geskiet is nie so groot nie want ek het nie 'n soektog wat enige geldige resultate terugkeer kies, maar jy kan sien dat as dit het 'n paar resultate, dit sal eers getoon het DocId se, nie titels).

I searched high and low for the answer to this and failed. My kollega, die eerbiedwaardige Jonathan Bradshaw, had faced and solved this issue. When I reached out to him for help, hy wys my in die regte rigting.

Stel die plukker verskeie kolomme vertoon word via die "ShowInPicker" eiendom in die ADF:

<Eiendom Naam="ShowInPicker" Tipe="System.Boolean">waar</Eiendom>

In meer besonderhede:

  <!-- Titel -->
  <TypeDescriptor Type Name="System.String" Naam="Titel" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Titel</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Eiendomme>
      <Eiendom Naam="DisplayByDefault" Tipe="System.Boolean">waar</Eiendom>
      <Eiendom Naam="ShowInPicker" Tipe="System.Boolean">waar</Eiendom>
    </Eiendomme>
  </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. In my geval, BDC picker showed DocId by default. Egter, wanneer ek bygevoeg "ShowInPicker" titel, DocId no longer displayed. I solved that by explicitly setting the ShowInPicker property for Doc ID.

Hier is die resultaat:

beeld

(Ek sal verduidelik die vreemd-op soek na "168 – CamlSchema.xsd" construction in a future blog post. In kort, dit is 'n aaneen string wat dit moontlik maak vir 'n effens beter gebruikers ervaring).

Natuurlik, geskryf op hierdie blog inskrywing, Ek het net 'n soektog vir "ShowInPicker" en bevind dat talle treffers, hierdie een ingesluit: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.

</einde>

Skryf in op my blog!

Technorati Tags:

Oplossing vir BDC ADF Invoer Versuim: “Die volgende fout het voorgekom:”

Ek was weer knutselen BDC ADF lêers met die hand (sodat ek kan opbou my "kry uit my grasperk!" Ek) en hierdie pragtige fout getref:

beeld

"Application definition import failed. Die volgende fout het voorgekom:"

Soos jy kan sien, daar is 'n fout, maar … dit gaan nie om my te vertel wat dit is.

In my geval, 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, maar versuim het om die werk <LobSystem>’s Type attribute. I switched it to "WebService" en ek gelukkig verskuif na nuwer en meer opwindend invoer foute, wat gehanteer is met verloop van tyd.

Hier is die verkeerde LobSystem:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema-instance
XSi: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">

Dit is korrek:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema-instance
XSi: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">

</einde>

Technorati Tags:

BDC blyk 'n lewensvatbare vervanging Vir soektogte

UPDATE: Hierdie MSDN gepos het 'n paar interessante waarnemings van JXJ gebaseer op sy, hoofsaaklik negatiewe, ervarings om af te gaan hierdie pad: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Ons het 'n besigheid scenario waar ons moet twee dokumente biblioteke te koppel deur 'n gemeenskaplike "dokument ID" veld.

We often use a lookup column to implements links like this. There are several drawbacks to lookup columns, waarvan drie:

  1. Only one column from the lookup lookup library can be linked.
  2. Prestasie: The source library could contain hundreds of entries. That’s too many entries in the lookup.
  3. Soek: There is no integrated search. I don’t mean in the MOSS sense of search, maar daar is geen manier om te soek / filter op verskeie kolomme van die bron dokument biblioteek en soek die skakel wat jy wil hê.

Gerugsteun deur 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.

Ek het 'n paar voorlopige sukses met hierdie benadering en beplan om meer daaroor te skryf.

As jy gewerk het hierdie hoek voor en enige kommentaar, asseblief deel!

</einde>

Technorati Tags:

Oplossing vir BDC Invoer fout: “Kon nie laai Tipe beskryf deur TypeDescriptor se Type Name …”

Ek werk met BDC vandag, coding ADF files by hand and generating myself some errors. One such error:

Aansoek definisie invoer het misluk. Die volgende fout het voorgekom: Kon nie laai Tipe beskryf deur TypeDescriptor se Type Name. Parameter naam: Type Name Daar was fout tydens of net voor Line: '35’ en posisie: ’20’.

MOSS vertoon hierdie fout toe ek probeer het om die ADF XML-lêer in te voer.

Ek het ondersoek ingestel na die Inter en gevind dat ek die lob byvoorbeeld die naam van verwysing (van die <LobSystemInstance>) in my <TypeDescriptor> node as ek moet verwys die lob naam self (uit <LobSystem>).

Verkeerd:

<TypeDescriptor Type Name = "Conchango.KeyValue, Lob aanleg Naam" Naam = "KeyValue-">

Korrigeer:

<TypeDescriptor Type Name = "Conchango.KeyValue, Lob Naam" Naam = "KeyValue-">

Hoop hierdie een slaan iemand 'n uur of twee van die tyd.

</einde>

Skryf in op my blog!

Technorati Tags:

'N BDC looptyd fout verduidelik

Ek laat 'n BDC fout hierdie week wat gemanifesteer op die gebruikerskoppelvlak en in die 12 Hive log tydens looptyd.

Eerste, Dit verskyn in die gebruikerskoppelvlak:

Kon dit nie vind velde al die Identifier waardes te voeg om korrek uit te voer 'n SpecificFinder MethodInstance met Naam … Maak seker invoerparameters het TypeDescriptors wat verband hou met elke Identifier gedefinieer vir hierdie Entiteit.

Hier is 'n skerm prent:

clip_image001

Ek kan ook veroorsaak dat hierdie boodskap verskyn in die 12 die korf log by sal (using my patented high-tech-don’t-try-this-at-home "Geheimsinnige foute" metode):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Die identifiseerder waarde ”, van die tipe ”, is, is ongeldig. Expected Identifier value of Type ‘System.String’. by Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) by Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entiteit entiteit, Object[] userValues, LobSystemInstance lobSystemInstance) by Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(View desiredView) by Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() by Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Ek het rond gesoek en het 'n paar leidrade in die MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison dat my maatskappy squirreled weg op 'n bediener en het my probleem om te besef.

In my ADF, Ek is verbind tot 'n SQL databasis soos aangedui:

            <Eiendom Naam="RdbCommandText" Tipe="System.String">
              <![CDATA[
                KIES
                      , CARRIER_ID, EFFDT, Ses, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      COUNTRY, Adres1, Adres2, ADDRESS3, ADDRESS4, STAD, Num1, Num2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, STAAT, POS, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, PHONE, UITBREIDING, FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                WAAR
                  (SETID <> 'Aandeel') en
                  (verlaag(CARRIER_ID) >= Laer(@ MinID)) en
                  (verlaag(CARRIER_ID) <= Laer(@ MaxId)) en
                  (verlaag(Ses) SOOS laer(@ InputDescr))
                ]]>
            </Eiendom>

Ek is met dien verstande dat SQL van 'n DBA persoon en ek gegee om te verstaan ​​dat dit 'n spesiale view they created just for me. The unique key there is CARRIER_ID.

Hier is die fout wat ek lei:

      <Merktekens>
        <Identifiseer Naam="CARRIER_ID" Type Name="System.String" />
        <Identifiseer Naam="Ses" Type Name="System.String" /> 
</Merktekens>

Iewers langs die lyn, Ek het daarin geslaag om myself te verwar oor die betekenis van <Merktekens> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Dit het alles uitgewerk.

I hope this saves someone some grief 🙂

Technorati Tags: , , ,

Die BDC ADF en jou vriend, CDATA

Ek het opgemerk 'n paar ongemaklike en onnodige hand-enkodering van RdbCommandText in 'n paar voorbeelde (MSDN dokumentasie).

Ek wou daarop te wys nuwelinge BDC dat opdragte binne-in 'n CDATA tag kan toegedraai word in hul "natuurlike" form. So, hierdie ongemaklike konstruksie:

<Eiendom Naam="RdbCommandText" Tipe="System.String">
KIES dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement van dbo.MCRS_SETTLEMENT
WAAR (ID &gt;= @ MinID) EN (ID &Dit;= @ MaxId)
</Eiendom>

kan beter verteenwoordig op hierdie manier:

<Eiendom Naam="RdbCommandText" Tipe="System.String">
<![CDATA[
KIES dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement van dbo.MCRS_SETTLEMENT
WAAR (ID >= @ MinID) EN (ID <= @ MaxId)
]]>
</Eiendom>

</einde>

BDC Voorbeeld

Inleiding tot BDC

Funksionele Voorbeeld: BDC ADF wat gekoppel is aan die SQL databasis met ingeboude gebruikersnaam en wagwoord

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 hierdie sjabloon (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Ek het 'n ADF wat gekoppel is aan 'n bepaalde SQL bediener byvoorbeeld en stompe in met 'n spesifieke gebruiker-ID en wagwoord wat in hierdie uittreksel:

  <LobSystemInstances>
    <LobSystemInstance Naam="ClaimsInstance">
      <Eiendomme>
        <Eiendom Naam="AuthenticationMode" Tipe="System.String">Pass through</Eiendom>
        <Eiendom Naam="DatabaseAccessProvider" Tipe="System.String">SQLServer</Eiendom>
        <Eiendom Naam="RdbConnection Data Bron" Tipe="System.String">werklike bediener  werklike byvoorbeeld</Eiendom>
        <Eiendom Naam="RdbConnection Aanvanklike Winkel" Tipe="System.String">werklike aanvanklike katalogus</Eiendom>
        <Eiendom Naam="RdbConnection Geïntegreerde Security" Tipe="System.String">SSPI</Eiendom>
        <Eiendom Naam="RdbConnection Poel" Tipe="System.String">valse</Eiendom>

        <!-- Dit is die sleutel waardes: -->
        <Eiendom Naam="RdbConnection Gebruiker ID" Tipe="System.String">1Werklike Gebruiker ID</Eiendom>
        <Eiendom Naam="RdbConnection Vergeet" Tipe="System.String">werklike Vergeet</Eiendom>
        <Eiendom Naam="RdbConnection Trusted_Connection" Tipe="System.String">valse</Eiendom>

      </Eiendomme>
    </LobSystemInstance>
  </LobSystemInstances>

Dit is nie 'n beste praktyk, 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 ingeboude id en wagwoord
  • insluit gebruiker-ID en wagwoord in ADF
  • insluit gebruiker-ID en wagwoord in ADF BDC
  • sharepoint BDC primer
  • sharepoint embed gebruiker-ID en wagwoord in ADF

</einde>

Skryf in op my blog.