катэгорыя Архівы: BDC

Quick Tip: BDC Лікі ADF Версія ваш сябар

Калі вы ручнога кадавання ADF файлаў і рабіць шмат кода / імпарт / цыклаў выпрабаванняў, 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">

Change that version and re-import and the existing business data column uses the updated version automatically with no additional configuration required.

</канец>

Падпісацца на мой блог.

Technorati Тэгі:

Рашэнне: 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".

Вы атрымліваеце доступ да выбару, націснуўшы на абразок Адкрыць кнігу калонцы бізнэс-дадзеных, як паказана:

малюнак

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" дакумент і калі яны эканомяць, прыёмнік падзей копіі метададзеных поля з спасылаюцца майстры.

Па змаўчанні, 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]

(На здымку экрана не так вялікая, таму што я не выбіраў пошуку, якая вяртае ўсе сапраўдныя вынікі, але вы можаце бачыць, што, калі ён выявіў некаторыя вынікі, гэта толькі паказалі DocId аўтара, Ня назвы).

I searched high and low for the answer to this and failed. Мой калега, Шаноўны Джонатан Брэдшоў, had faced and solved this issue. When I reached out to him for help, Ён паказаў мне ў правільным кірунку.

Configure the picker to show multiple columns via the "ShowInPicker" уласнасці ў АПД:

<Уласнасць Імя="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. In short, гэта аб'яднаную радок, якая дазваляе трохі лепшы карыстацкі досвед).

Вядома, напісаўшы гэты допіс з блогу, 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.

</канец>

Падпісацца на мой блог!

Technorati Тэгі:

Рашэнне BDC Адмова Імпарт ADF: “Адбылася наступная памылка:”

Я ў чарговы раз 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">

</канец>

Technorati Тэгі:

BDC здаецца жыццяздольнай замены для праглядаў

АБНАЎЛЕННЕ: Гэта 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. Прадукцыйнасць: 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.

У мяне былі некаторыя папярэднія поспех з гэтым падыходам і планую напісаць пра гэта больш.

Калі вы працавалі да гэтага кута і ёсць якія-небудзь каментары, калі ласка, падзяліцеся!

</канец>

Technorati Тэгі:

Рашэнне BDC Памылка імпарту: “Не атрымалася загрузіць тып апісваецца TypeName TypeDescriptor аўтара …”

Я працую з BDC сёння, coding ADF files by hand and generating myself some errors. One such error:

Імпарт вызначэння прыкладання не атрымалася. Адбылася наступная памылка: Не атрымалася загрузіць тып апісваецца TypeName TypeDescriptor аўтара. Найменне параметра: имяТипа адбылася памылка падчас або перад лініяй: '35’ і палажэнні: ’20’.

MOSS адлюстроўваецца гэтая памылка, калі я спрабаваў імпартаваць файл ADF XML.

Я даследаваў Інтэрнэце і выявіў, што я быў спасылацца на імя LOB напрыклад (з <LobSystemInstance>) ў маім <TypeDescriptor> вузла, калі я павінен быў спасылацца LOB сама назва (ад <LobSystem>).

Няправільны:

<TypeDescriptor TypeName="Conchango.KeyValue, Імя асобніка LOB" Name="KeyValue">

Выпраўце:

<TypeDescriptor TypeName="Conchango.KeyValue, Імя LOB" Name="KeyValue">

Спадзяюся, што гэта адна эканоміць хтосьці гадзіну ці два часу.

</канец>

Падпісацца на мой блог!

Technorati Тэгі:

Памылка выканання BDC патлумачыў

Я выклікала BDC памылку на гэтым тыдні, што выявілася ў карыстацкім інтэрфейсе і ў 12 вулей часопіса падчас выканання.

Першы, Гэта з'явілася ў інтэрфейсе карыстальніка:

Не атрымалася знайсці палёў ўставіць ўсе значэння ідэнтыфікатара правільна выканаць SpecificFinder MethodInstance з імем … Пераканайцеся, уведзеных параметраў TypeDescriptors, звязаны з кожнай ідэнтыфікатар, вызначаны для дадзенага аб'екта.

Вось здымак экрана:

clip_image001

Я мог бы таксама Дадзенае паведамленне з'яўляецца ў 12 вулей часопіс па жаданні (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: Значэнне ідэнтыфікатара ”, Тыпу ”, з'яўляецца несапраўдным. Expected Identifier value of Type ‘System.String’. на Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Аб'ект[] subIdentifierValues, LobSystemInstance LobSystemInstance) на Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entity асобы, Аб'ект[] userValues, LobSystemInstance LobSystemInstance) на Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Паглядзець desiredView) на Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() на Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Я шукаў вакол і знайшоў некаторыя драты ў MSDN форум, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Тэд Паттисон што мая кампанія squirreled была далёка на сервер і зразумеў, мая праблема.

На мой ADF, Я падключэннем да базы дадзеных SQL, як паказана:

            <Уласнасць Імя="RdbCommandText" Тып="System.String">
              <![CDATA[
                ВЫБАР
                      , CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, Network_id, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      КРАІНЫ, ADDRESS1, ADDRESS2, Address3, Адрас 4, ГОРАД, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      Акругах, ДЗЯРЖАЎНЫ, ПАШТОВЫ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ТЭЛЕФОН, Распаўсюджванне, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (NOLOCK)
                ДЗЕ
                  (SETID <> "Доля") і
                  (знізіць(CARRIER_ID) >= Ніжняя(@ MiniD)) і
                  (знізіць(CARRIER_ID) <= Ніжняя(@ MaxId)) і
                  (знізіць(DESCR) Падобныя ніжэйшых(@ InputDescr))
                ]]>
            </Уласнасць>

Я быў пры ўмове, што ад SQL DBA чалавек, і я даў зразумець, што гэта спецыяльны view they created just for me. The unique key there is CARRIER_ID.

Вось я прадставіў памылцы:

      <Ідэнтыфікатары>
        <Ідэнтыфікатар Імя="CARRIER_ID" TypeName="System.String" />
        <Ідэнтыфікатар Імя="DESCR" TypeName="System.String" /> 
</Ідэнтыфікатары>

Дзе-то ўздоўж лініі, Мне ўдалося заблытаць сябе над сэнсам <Ідэнтыфікатары> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Усё гэта працавала.

I hope this saves someone some grief 🙂

Technorati Тэгі: , , ,

BDC ADF і ваш сябар, CDATA

Я заўважыў некалькі няёмка і непатрэбным ручной кадоўкі RdbCommandText ў некаторых прыкладах (у тым ліку дакументацыі MSDN).

Я хацеў бы звярнуць увагу пачаткоўцаў на BDC, што каманды могуць быць заключаны ў тэг CDATA ў сваіх "натуральных" form. Так, гэты нязграбны будаўніцтва:

<Уласнасць Імя="RdbCommandText" Тып="System.String">
ВЫБАР dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement ад dbo.MCRS_SETTLEMENT
ДЗЕ (ID &GT;= @ MinID) І (ID &л;= @ MaxId)
</Уласнасць>

можа быць лепш прадстаўлены такім чынам,:

<Уласнасць Імя="RdbCommandText" Тып="System.String">
<![CDATA[
ВЫБАР dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement ад dbo.MCRS_SETTLEMENT
ДЗЕ (ID >= @ MinID) І (ID <= @ MaxId)
]]>
</Уласнасць>

</канец>

Прыклад BDC

Уводзіны ў BDC

Прыклад функцыянальнай: BDC ADF, які падключаецца да базы дадзеных SQL з убудаваным ідэнтыфікатарам карыстальніка і пароль

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 асобнікаў і ўваходзіць у сістэму са пэўны ідэнтыфікатар карыстальніка і пароль і паказана ў гэтым фрагменце:

  <LobSystemInstances>
    <LobSystemInstance Імя="ClaimsInstance">
      <Ўласцівасці>
        <Уласнасць Імя="AuthenticationMode" Тып="System.String">Скразны</Уласнасць>
        <Уласнасць Імя="DatabaseAccessProvider" Тып="System.String">SqlServer</Уласнасць>
        <Уласнасць Імя="Крыніца дадзеных RdbConnection" Тып="System.String">фактычныя сервер  фактычны асобнік</Уласнасць>
        <Уласнасць Імя="RdbConnection Initial Catalog" Тып="System.String">фактычны зыходны каталог</Уласнасць>
        <Уласнасць Імя="Комплексная бяспеку RdbConnection" Тып="System.String">SSPI</Уласнасць>
        <Уласнасць Імя="Аб'яднанне RdbConnection" Тып="System.String">ілжывы</Уласнасць>

        <!-- Гэта ключавыя значэнні: -->
        <Уласнасць Імя="ID карыстальніка RdbConnection" Тып="System.String">actual 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 Embedded ідэнтыфікатар карыстальніка і пароль
  • ўстаўляць ідэнтыфікатар карыстальніка і пароль у АПД
  • ўстаўляць ідэнтыфікатар карыстальніка і пароль у ADF BDC
  • SharePoint BDC грунтоўкі
  • SharePoint Код ID карыстальніка і пароль у АПД

</канец>

Падпісацца на мой блог.