Цатегори Арцхивес: БДД

Брзо Савет: БДЦ АДФ Верзија бројеви су ваша пријатеља

Ако сте ручно кодирање АДФ фајлова и раде пуно кода / увоз / Тест циклуса, 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".

Пример:

<ЛобСистем
КСМЛнс:кси="хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце" кси:сцхемаЛоцатион="хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталог БДЦМетадата.ксд" Тип="Вебсервице" Верзија="1.2.0.0" Име="киззиДоцументРевиев" КСМЛнс="хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталог">

Промените ту верзију и поновно увоз и постојећи подаци пословна колона користи ажурирану верзију аутоматски без додатних конфигурација потребна.

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс:

Решење: БДЦ Избор показује само једну колону резултате

У моје покушаје да пружи више користан за проналажење колона користи БДЦ, 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, преко БДД, 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. Наслов) али неће показати стварни списак наслова које је открио, само њихов ДоцИд је као на слици:

clip_image002[1]

(Снимак није тако велика јер нисам изабрати претрагу која враћа све валидне резултате, али можете да видите да ли је пронашао неке резултате, то би само показали да ДоцИд, не титуле).

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" имовина у АДФ:

<Имовина Име="СховИнПицкер" Тип="Систем.Боолеан">прави</Имовина>

Ближе:

  <!-- Наслов -->
  <ТипеДесцриптор ТипеНаме="Систем.Стринг" Име="Наслов" >
    <ЛоцализедДисплаиНамес>
      <ЛоцализедДисплаиНаме ЛЦИД="1033">Наслов</ЛоцализедДисплаиНаме>
    </ЛоцализедДисплаиНамес>
    <Некретнине>
      <Имовина Име="ДисплаиБиДефаулт" Тип="Систем.Боолеан">прави</Имовина>
      <Имовина Име="СховИнПицкер" Тип="Систем.Боолеан">прави</Имовина>
    </Некретнине>
  </ТипеДесцриптор>

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 – ЦамлСцхема.ксд" construction in a future blog post. Укратко, то је уланчани стринг који омогућава нешто боље корисничко искуство).

Наравно, је написао овај блог унос, 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.

</крај>

Претплатите се на мој блог!

Тецхнорати Тагс:

Решење за БДД АДФ Увоз неуспех: “Следеће грешке:”

I was once again crafting BDC ADF files by hand (so that I can build up my "get off my lawn!" cred) and hit this lovely error:

слика

"Application definition import failed. Следеће грешке:"

Као што можете видети, there’s an error, али … it’s not going to tell me what it is.

У мом случају, 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, but failed to update the <ЛобСистем>’s Type attribute. I switched it to "WebService" and I happily moved on to newer and more exciting import errors, which were handled in due course.

Here is the wrong LobSystem:

<ЛобСистем
КСМЛнс:xsi=хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце
кси:schemaLocation=хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталогBDCMetadata.xsd
Type="Database"
Version="1.0.0.0" Name="xyzzy"
xmlns="
хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталог">

This is correct:

<ЛобСистем
КСМЛнс:xsi=хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце
кси:schemaLocation=хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталогBDCMetadata.xsd
Type="WebService"
Version="1.0.0.0" Name="xyzzy"
xmlns="
хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталог">

</крај>

Тецхнорати Тагс:

БДЦ Изгледа одрживу замену за Лоокупс

УПДАТЕ: Ово постављање МСДН има неке занимљиве опсервације из јкј на основу његове, углавном негативан, Искуства иде овим путем: 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, али не постоји начин да се тражи / филтрирали по више колона библиотеке из изворног документа и пронађите линк који желите.

Подржан од стране БДД, 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.

Имао сам неке прелиминарне успеха са овим приступом и планирају да пишу више о томе.

Ако сте радили овај угао и пре било каквих коментара, Молимо вас да поделите!

</крај>

Тецхнорати Тагс:

Решење за БДД Грешка Увоз: “Није могуће учитати Тип описао ТипеНаме ТипеДесцриптор је …”

Радио сам са БДД данас, coding ADF files by hand and generating myself some errors. One such error:

Примена дефиниција увоз није успео. Следеће грешке: Није могуће учитати Тип описао ТипеНаме ТипеДесцриптор је. Параметар име: ТипеНаме Дошло је до грешке у или непосредно пре Лине: '35’ и позиција: ’20’.

МОСС приказује ову грешку кад сам покушао да увезете АДФ КСМЛ датотеку.

Сам истраживао интернетс и открио да сам био референцирање Лоб инстанце име (из <ЛобСистемИнстанце>) у мом <ТипеДесцриптор> чвор, када је требало да упућује лобира само име (из <ЛобСистем>).

Погрешно:

<TypeDescriptor TypeName="Conchango.KeyValue, ЛОБ Инстанције Име" Name="KeyValue">

Исправите:

<TypeDescriptor TypeName="Conchango.KeyValue, ЛОБ Име" Name="KeyValue">

Надам се да ово неко штеди сат-два времена.

</крај>

Претплатите се на мој блог!

Тецхнорати Тагс:

БДД Рунтиме Еррор објаснио

Сам изазвао грешку БДЦ ове недеље да се манифестује на корисничком интерфејсу и 12 Дневник кошница у рунтиме-.

Прво, Овај се појавио у корисничком интерфејсу:

Није могуће пронаћи поља да додате све вредности идентификатор правилно извршавање СпецифицФиндер МетходИнстанце са Име … Уверите се улазни параметри су ТипеДесцрипторс повезане са сваким идентификатора дефинисаног за овај ентитет.

Ево снимак екрана:

цлип_имаге001

Такође може изазвати ову поруку да се појави у 12 Дневник кошница по вољи (using my patented high-tech-don’t-try-this-at-home "mysterious errors" метод):

11/14/2007 09:24:41.27 w3wp.exe (0к080Ц) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: Систем.ИнвалидОператионЕкцептион: Идентификатор вредност ”, типа ”, је неважећи. Expected Identifier value of Type ‘System.String’. на Мицрософт.Оффице.Сервер.АпплицатионРегистри.МетадатаМодел.Ентити.ФиндСпецифиц(Објекат[] субИдентифиерВалуес, ЛобСистемИнстанце лобСистемИнстанце) на Мицрософт.СхареПоинт.Портал.ВебЦонтролс.БдцЦлиентУтил.ФиндЕнтити(Ентитетски ентитет, Објекат[] усерВалуес, ЛобСистемИнстанце лобСистемИнстанце) на Мицрософт.СхареПоинт.Портал.ВебЦонтролс.БусинессДатаИтемБуилдер.ГетЕнтитиИнстанце(Погледај десиредВиев) на Мицрософт.СхареПоинт.Портал.ВебЦонтролс.БусинессДатаДетаилсВебПарт.ГетЕнтитиИнстанце() на Мицрософт.СхареПоинт.Портал.ВебЦонтролс.БусинессДатаДетаилсВебПарт.СетДатаСоурцеПропертиес()

Ја око тражили и нашли неке трагове у МСДН форуму, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Тед Паттисон да моје компанија скуиррелед је далеко на серверу и схватио мој проблем.

У мом АДФ, Ја сам повезивање са СКЛ базом података као што је приказано:

            <Имовина Име="РдбЦоммандТект" Тип="Систем.Стринг">
              <![ЦДАТА[
                СЕЛЕЦТ
                      , ЦАРРИЕР_ИД, ЕФФДТ, Десцр, ЕФФ_СТАТУС, ТАКСПАИЕР_ИД, НЕТВОРК_ИД, ФРТ_ФОРВАРД_ФЛГ, АЛТ_НАМЕ1, АЛТ_НАМЕ2, ЛАНГУАГЕ_ЦД,
                      ЗЕМЉА, Аддресс1, Адреса2, АДДРЕСС3, АДДРЕСС4, ГРАД, Бр1, Бр2, ХОУСЕ_ТИПЕ, АДДР_ФИЕЛД1, АДДР_ФИЕЛД2, АДДР_ФИЕЛД3,
                      ОКРУГ, ДРЖАВНА, ПОШТАНСКЕ, ГЕО_ЦОДЕ, ИН_ЦИТИ_ЛИМИТ, ЦОУНТРИ_ЦОДЕ, ТЕЛ, ПРОДУЖЕЊЕ, ФАКС, ЛАСТ_ЕКСП_ЦХК_ДТТМ, ФРЕИГХТ_ВЕНДОР,
                      ИНТЕРЛИНК_ДЛЛ, ТМС_ЕКСЦЛУДЕ_ФЛГ
                 (нолоцк)
                ГДЕ
                  (СЕТИД <> 'Схаре') и
                  (снизити(ЦАРРИЕР_ИД) >= Нижи(@ МинИД)) и
                  (снизити(ЦАРРИЕР_ИД) <= Нижи(@ МакИд)) и
                  (снизити(Десцр) КАО ниже(@ ИнпутДесцр))
                ]]>
            </Имовина>

Био сам под условом да из СКЛ дБА особе и ја дао да схвате да је посебан view they created just for me. The unique key there is CARRIER_ID.

Овде је грешка сам увео:

      <Идентификатори>
        <Идентификовати Име="ЦАРРИЕР_ИД" ТипеНаме="Систем.Стринг" />
        <Идентификовати Име="Десцр" ТипеНаме="Систем.Стринг" /> 
</Идентификатори>

Негде дуж линије, Успео сам да се мешају у смислу <Идентификатори> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! Све је радила.

Надам се да ово чува неко неки бол 🙂

Тецхнорати Тагс: , , ,

БДЦ АДФ и ваш пријатељ, ЦДАТА

I’ve noticed some awkward and unnecessary hand-encoding of RdbCommandText in some examples (including MSDN documentation).

I wanted to point out to newcomers to BDC that commands can be wrapped inside a CDATA tag in their "natural" form. Тако, this awkward construction:

<Имовина Име="РдбЦоммандТект" Тип="Систем.Стринг">
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement from dbo.MCRS_SETTLEMENT
ГДЕ (ид &гт;= @MinId) И (ид &То;= @ МакИд)
</Имовина>

can be better represented this way:

<Имовина Име="РдбЦоммандТект" Тип="Систем.Стринг">
<![ЦДАТА[
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement from dbo.MCRS_SETTLEMENT
ГДЕ (ид >= @MinId) И (ид <= @MaxId)
]]>
</Имовина>

</крај>

BDC Primer

Intro to BDC

Функционална Пример: БДЦ АДФ који се повезује са СКЛ базом података са уграђеним корисничко име и лозинку

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), Сам направио АДФ која се повезује са одређеном СКЛ Сервер пример и пријављује са одређеном корисничко име и лозинку и приказани на овом исечку:

  <ЛобСистемИнстанцес>
    <ЛобСистемИнстанце Име="ЦлаимсИнстанце">
      <Некретнине>
        <Имовина Име="АутхентицатионМоде" Тип="Систем.Стринг">Пролаз</Имовина>
        <Имовина Име="ДатабасеАццессПровидер" Тип="Систем.Стринг">СКЛСервер</Имовина>
        <Имовина Име="Извор података РдбЦоннецтион" Тип="Систем.Стринг">стварни сервер  стварни степен</Имовина>
        <Имовина Име="Почетна Каталог РдбЦоннецтион" Тип="Систем.Стринг">Стварни почетни каталог</Имовина>
        <Имовина Име="РдбЦоннецтион Интегрисана безбедност" Тип="Систем.Стринг">СПИ</Имовина>
        <Имовина Име="Уједињавање РдбЦоннецтион" Тип="Систем.Стринг">лажан</Имовина>

        <!-- Ово су кључне вредности: -->
        <Имовина Име="РдбЦоннецтион ИД корисника" Тип="Систем.Стринг">aцтуал ИД корисника</Имовина>
        <Имовина Име="РдбЦоннецтион Лозинка" Тип="Систем.Стринг">Стварни Лозинка</Имовина>
        <Имовина Име="РдбЦоннецтион Трустед_Цоннецтион" Тип="Систем.Стринг">лажан</Имовина>

      </Некретнине>
    </ЛобСистемИнстанце>
  </ЛобСистемИнстанцес>

То није најбоље решење, 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:

  • АДФ ембеддед усерид и лозинку
  • уградити корисничко име и лозинку у АДФ
  • уградити корисничко име и лозинку у АДФ БДД
  • СхареПоинт БДЦ прајмер
  • СхареПоинт Ембед корисничко име и лозинку у АДФ

</крај>

Претплатите се на мој блог.