Կարգավիճակի արխիվներ: BDC

Quick Հուշում: BDC ADF տարբերակ թվերը Ձեր Friend

Եթե ​​Դուք ձեռքի կոդավորման ADF ֆայլեր, եւ անում ենք կոդի / ներմուծման / test ցիկլերի, use the version number to make your life easier.

Ես ատում ընդունել այն:, սակայն մինչեւ այս շաբաթ, 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".

Օրինակ:

<LobSystem
xmlns:xsi="http :/://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http :/://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Տիպ="WebService" Տարբերակ="1.2.0.0" Անուն="xyzzyDocumentReview" xmlns="http :/://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

Փոխել այդ տարբերակը եւ վերագրանցում ներմուծման եւ գործող բիզնես տվյալները շարասյունը օգտագործում է նորացված տարբերակը ինքնաբերաբար առանց լրացուցիչ կարգավորումների պահանջվել.

</վերջ>

Անդամագրվել իմ բլոգում.

Արորդիների Tags:

Լուծում: BDC picker Ցույց միայն մեկ շարասյունը արդյունքները

Իմ ին պատրաստվում փորձերի ապահովելով ավելի օգտակար Փնտրել շարասյունը, օգտագործելով 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".

Դուք մուտք picker սեղմելով բացված գրքի պատկերիկի վրա բիզնես տվյալների սյունակի ինչպես ցուցադրված է:

պատկեր

The above image shows a business data column called "Master Document Id". That column is connected, միջոցով 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" ֆունկցիա. Users select a "master" փաստաթուղթ, եւ երբ դրանք փրկելու համար, միջոցառում ընդունիչ պատճենները meta տվյալների դաշտերը պարտադիր են Ուղեկցող վարպետի.

Ըստ դեֆոլտի, the BDC picker looks like this when I search for a document whose ID = "38":

clip_image002

Դա օգտակար, 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. Վերնագիր) բայց չի ցույց փաստացի ցուցակի այն գտել, ուղղակի նրանց DocId ինչ `ինչպես ցուցադրված է այստեղ,:

clip_image002[1]

(Էկրանի անկյունագիծը shot ոչ այնքան մեծ, քանի որ ես չեմ ընտրել այն որոնումը որը վերադառնում որեւէ վավեր արդյունքները, բայց դուք կարող եք տեսնել, որ եթե գտել որոշ արդյունքներ, որ դա ցույց են տվել, DocId ի, ոչ որոնում).

I searched high and low for the answer to this and failed. Իմ գործընկեր, այդ պատվարժան Jonathan Bradshaw, had faced and solved this issue. When I reached out to him for help, Նա նշեց, ինձ ճիշտ ուղղությամբ.

Configure the picker to show multiple columns via the "ShowInPicker" Գույքը է ADF:

<Սեփականություն Անուն="ShowInPicker" Տիպ="System.Boolean">ճիշտ</Սեփականություն>

Ավելի մանրամասն:

  <!-- Վերնագիր -->
  <TypeDescriptor TypeName="System.String" Անուն="Վերնագիր" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Վերնագիր</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Հատկություններ>
      <Սեփականություն Անուն="DisplayByDefault" Տիպ="System.Boolean">ճիշտ</Սեփականություն>
      <Սեփականություն Անուն="ShowInPicker" Տիպ="System.Boolean">ճիշտ</Սեփականություն>
    </Հատկություններ>
  </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. Իմ դեպքում,, BDC picker showed DocId by default. Սակայն, once I added "ShowInPicker" Ինչպես վերնագրի, DocId no longer displayed. I solved that by explicitly setting the ShowInPicker property for Doc ID.

Ահա արդյունքը:

պատկեր

(I’ll explain the odd-looking "168 – CamlSchema.xsd" construction in a future blog post. Մի խոսքով, դա concatenated տողը որը թույլ է տալիս մի փոքր ավելի լավ Օգտվողի փորձ).

Իհարկե, որոնք գրված այս բլոգ - գրառմանը, I just did a search for "ShowInPicker" եւ գտնվել է բազմաթիվ քանակին, այդ թվում `այս մեկը: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.

</վերջ>

Անդամագրվել իմ բլոգում!

Արորդիների Tags:

Լուծում BDC adf Import ձախողման: “Հետեւյալ սխալ:”

Ես եւս մեկ անգամ Արհեստի BDC adf ֆայլեր ձեռքով (այնպես որ ես կարող եմ կառուցել իմ "իջնել իմ Մարգագետինների!" Ես) եւ հարվածել Այս սիրուն սխալ:

պատկեր

"Application definition import failed. Հետեւյալ սխալ:"

Ինչպես տեսնում եք,, կա սխալ, սակայն … դա չի ասել ինձ, թե ինչ է դա.

Իմ դեպքում,, 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, սակայն թարմացում <LobSystem>’s Type attribute. I switched it to "WebService" եւ ես երջանիկ տեղափոխվել է ավելի ու ավելի հետաքրքիր ներմուծման սխալներով, որոնք թվով ժամանակի ընթացքում.

Այստեղ սխալ 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">

Սա ճիշտ է:

<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">

</վերջ>

Արորդիների Tags:

BDC Թվում է կենսունակ փոխարինում Lookups

ԹԱՐՄԱՑՆԵԼ: Այս MSDN համար ունի մի շարք հետաքրքիր դիտարկումներ է JXJ ելնելով իր, հիմնականում բացասական, փորձը իջնում ​​այս ճանապարհով: 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" դաշտ.

We often use a lookup column to implements links like this. There are several drawbacks to lookup columns, երեք են:

  1. Only one column from the lookup lookup library can be linked.
  2. Performance: The source library could contain hundreds of entries. That’s too many entries in the lookup.
  3. Որոնել: There is no integrated search. I don’t mean in the MOSS sense of search, բայց ոչ մի կերպ որոնել / զտել բազմաթիվ սյուների վրա աղբյուր փաստաթղթի գրադարանի եւ տեղադրել հղում Ձեզ.

Սատարում 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.

Ես ինչ - որ նախնական հաջողության հետ: Այս մոտեցումը, եւ մտադիր է գրել ավելի շատ դրա մասին.

Եթե ​​դուք աշխատել այս տեսանկյունից, եւ որեւէ մեկնաբանություններ, Խնդրեմ!

</վերջ>

Արորդիների Tags:

Լուծում BDC Import Error: “Չհաջողվեց բեռնել տեսակը նկարագրված TypeDescriptor ծանոթյություններ TypeName …”

Ես արդեն աշխատում BDC այսօր, coding ADF files by hand and generating myself some errors. One such error:

Դիմում սահմանումը ներմուծումը ձախողվեց. Հետեւյալ սխալ: Չհաջողվեց բեռնել տեսակը նկարագրված TypeDescriptor ծանոթյություններ TypeName. Պարամետր անունը: typeName Սխալ տեղի ունեցավ, կամ պարզապես մինչեւ Line: '35’ եւ Պաշտոն: ’20’.

MOSS դրսեւորվում այս խմբին երբ ես փորձեցի ներմուծել adf XML ֆայլը.

Ես ուսումնասիրել է Internets եւ պարզել, որ ես հիշատակում է lob ատյանի անունը (է <LobSystemInstance>) իմ <TypeDescriptor> հանգույց, երբ ես պետք է Ուղեկցող են lob անունը ինքը (- ից <LobSystem>).

Սխալ:

<TypeDescriptor TypeName="Conchango.KeyValue, Lob ատյանի Անունը" Name="KeyValue">

Ճիշտ:

<TypeDescriptor TypeName="Conchango.KeyValue, Lob Անունը" Name="KeyValue">

Հույս այս փրկում մեկին մեկ ժամ կամ երկու անգամ:.

</վերջ>

Անդամագրվել իմ բլոգում!

Արորդիների Tags:

A BDC Runtime սխալ բացատրել

Ես առաջացրել BDC սխալ Այս շաբաթ, որ դրսեւորվեց է ինտերֆեյսի եւ 12 hive log at runtime.

Առաջին, Այս հայտնվել է ինտերֆեյսի:

Հնարավոր չէ գտնել fields բովանդակության բոլոր նույնացուցիչ արժեքների ճիշտ կատարել մի SpecificFinder MethodInstance հետ: Անուն … Ensure input Parameters have TypeDescriptors associated with every Identifier defined for this Entity.

Ահա մի էկրան կրակոց:

clip_image001

I could also cause this message to appear in the 12 hive log at will (using my patented high-tech-don’t-try-this-at-home "mysterious errors" մեթոդ):

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

I searched around and found some leads in the MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison that my company has squirreled away on a server and came to realize my problem.

In my ADF, I’m connecting to a SQL database as shown:

            <Սեփականություն Անուն="RdbCommandText" Տիպ="System.String">
              <![CDATA[
                SELECT
                      SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      COUNTRY, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CITY, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, STATE, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, PHONE, EXTENSION, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                FROM
                      dbo.PS_CARRIER_ID_VW WITH (nolock)
                WHERE
                  (SETID <> 'SHARE') իսկ
                  (lower(CARRIER_ID) >= lower(@MinId)) իսկ
                  (lower(CARRIER_ID) <= lower(@ MaxId)) իսկ
                  (lower(DESCR) LIKE lower(@InputDescr))
                ]]>
            </Սեփականություն>

I was provided that SQL from a DBA person and I’m given to understand that it’s a հատուկ view they created just for me. The unique key there is CARRIER_ID.

Here is the bug I introduced:

      <Identifiers>
        <Identifier Անուն="CARRIER_ID" TypeName="System.String" />
        <Identifier Անուն="DESCR" TypeName="System.String" /> 
</Identifiers>

Տեղ երկայնքով գծում, I had managed to confuse myself over the meaning of <Identifiers> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! It all worked.

Հուսով եմ, որ սա ինչ -որ մեկին վիշտ կփրկի

Արորդիների Tags: , , ,

BDC ADF եւ Ձեր ընկերը, CDATA

Ես նկատեցի, որ անհարմար է եւ ավելորդ ձեռքի կոդավորումը եւ RdbCommandText որոշ օրինակներ (այդ թվում, MSDN փաստաթղթերի).

I wanted to point out to newcomers to BDC that commands can be wrapped inside a CDATA tag in their "natural" form. Այնքան, սա անհարմար շինարարական:

<Սեփականություն Անուն="RdbCommandText" Տիպ="System.String">
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement ից dbo.MCRS_SETTLEMENT
WHERE (id &GT;= @MinId) ՈՒ (id &LT;= @ MaxId)
</Սեփականություն>

կարող է ավելի լավ ներկայացված այս կերպ:

<Սեփականություն Անուն="RdbCommandText" Տիպ="System.String">
<![CDATA[
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement ից dbo.MCRS_SETTLEMENT
WHERE (id >= @MinId) ՈՒ (id <= @ MaxId)
]]>
</Սեփականություն>

</վերջ>

BDC Example

Intro է BDC

Ֆունկցիոնալ Example: BDC ADF, որոնք կապում են SQL տվյալների բազայում, ինչպես նաեւ ներդրված օգտվողի ID եւ գաղտնաբառի

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 Այս Կաղապար (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Ես ստեղծել ADF, որ միանում է որոշակի SQL Server ատյանի եւ գերանների հետ կոնկրետ Օգտվողի մականունը եւ գաղտնաբառը, եւ ցուցադրվել է այս պատառներ:

  <LobSystemInstances>
    <LobSystemInstance Անուն="ClaimsInstance">
      <Հատկություններ>
        <Սեփականություն Անուն="AuthenticationMode" Տիպ="System.String">PassThrough</Սեփականություն>
        <Սեփականություն Անուն="DatabaseAccessProvider" Տիպ="System.String">SqlServer</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Data Source" Տիպ="System.String">Փաստացի սերվերի  արդիական ատյանի</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Սկզբնական կատալոգ" Տիպ="System.String">փաստացի սկզբնական կատալոգ</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Integrated Security" Տիպ="System.String">SSPI</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Pooling" Տիպ="System.String">սուտ</Սեփականություն>

        <!-- Սրանք այն հիմնական արժեքները,: -->
        <Սեփականություն Անուն="RdbConnection User ID" Տիպ="System.String">աctual User ID</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Գաղտնաբառ" Տիպ="System.String">փաստացի Գաղտնաբառ</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Trusted_Connection" Տիպ="System.String">սուտ</Սեփականություն>

      </Հատկություններ>
    </LobSystemInstance>
  </LobSystemInstances>

Չէ, լավագույն գործելակերպ, 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 ներդրված userid եւ գաղտնաբառը
  • պառկեցնել օգտվողի ID-ն եւ գաղտնաբառը. adf
  • պառկեցնել օգտվողի ID-ն եւ գաղտնաբառը. adf bdc
  • Sharepoint bdc պիստոն
  • Sharepoint embed օգտվողի ID-ն եւ գաղտնաբառը. adf

</վերջ>

Անդամագրվել իմ բլոգում.