Архиви на категоријата: ЦРБ

Брзо Совет: ЦРБ 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">

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

</крајот>

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

Technorati Тагови:

Решение: ЦРБ берач покажува само една колона на резултатите

Во мојот он-ќе обиди за обезбедување на повеќе корисни пребарување колона користење ЦРБ, 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. Наслов) но не ќе покаже вистинската листата на наслови го нашол, само нивните 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" имотот во 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.

</крајот>

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

Technorati Тагови:

Решение за ЦРБ ADF Увоз Неуспехот: “Се случи следната грешка:”

Бев уште еднаш изработката ЦРБ 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 Тагови:

ЦРБ чини остварлива замена за 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. Перформанси: 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.

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

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

</крајот>

Technorati Тагови:

Решение за ЦРБ Увоз Грешка: “Не можам да Вчитај Вид опишан од страна TypeName TypeDescriptor е …”

Сум работел со ЦРБ денес, coding ADF files by hand and generating myself some errors. One such error:

Апликација дефиниција увоз не успеа. Се случи следната грешка: Не можам да Вчитај Вид опишан од страна TypeName TypeDescriptor е. Името на параметарот: typeName Грешка беше затекнат или само пред Линија: '35’ и функцијата: ’20’.

Мос прикажани оваа грешка кога се обидов да се увезе ADF XML датотека.

Јас истражуван на Internets и сфатив дека бев референцирање на висока топчето пример името (од <LobSystemInstance>) во моето <TypeDescriptor> јазол, кога јас треба да референцира на висока топчето самото име (од <LobSystem>).

Погрешно:

<TypeDescriptor TypeName="Conchango.KeyValue, Висока топчето пример името" Name="KeyValue">

Коригираат:

<TypeDescriptor TypeName="Conchango.KeyValue, Висока топчето Име" Name="KeyValue">

Надевам дека ова еден заштедува некој еден час или два на време.

</крајот>

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

Technorati Тагови:

А ЦРБ траење грешка објасни

Јас предизвика ЦРБ грешка оваа недела дека се манифестира на кориснички интерфејс и во 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(Лице лице, Објект[] 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 Тед Pattison дека мојот компанијата нема squirreled далеку на сервер и дојде да се реализира мојот проблем.

Во мојот ADF, Јас сум поврзување со SQL база на податоци како што е прикажано:

            <Сопственост Името="RdbCommandText" Тип="System.String">
              <![CDATA[
                Избери
                      , CARRIER_ID, EFFDT, Описот ќе се ко, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      ЗЕМЈА, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, ГРАД, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, На државата, ПОШТЕНСКИ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ТЕЛЕФОН, ПРОШИРУВАЊЕ, ФАКС, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                КАДЕ
                  (LEAs <> "Сподели") и
                  (намали(CARRIER_ID) >= Пониска(@ MinID)) и
                  (намали(CARRIER_ID) <= Пониска(@ MaxId)) и
                  (намали(Описот ќе се ко) Како помал(@ InputDescr))
                ]]>
            </Сопственост>

Бев под услов SQL од Велика Британија лице и јас сум со оглед да се разбере дека тоа е специјални view they created just for me. The unique key there is CARRIER_ID.

Тука е бубачка јас воведе:

      <Идентификатори>
        <Идентификуваат Името="CARRIER_ID" TypeName="System.String" />
        <Идентификуваат Името="Описот ќе се ко" 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 Тагови: , , ,

ЦРБ 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">
Избери dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement од dbo.MCRS_SETTLEMENT
КАДЕ (ид &GT;= @ MinID) И (ид &lt;= @ MaxId)
</Сопственост>

може да биде подобро претставена на овој начин:

<Сопственост Името="RdbCommandText" Тип="System.String">
<![CDATA[
Избери dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement од dbo.MCRS_SETTLEMENT
КАДЕ (ид >= @ MinID) И (ид <= @ MaxId)
]]>
</Сопственост>

</крајот>

ЦРБ Пример

Вовед во ЦРБ

Функционални Пример: ЦРБ 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 Server, пример и логови во со специфичен корисничко име и лозинка и прикажан во оваа програмка:

  <LobSystemInstances>
    <LobSystemInstance Името="ClaimsInstance">
      <Својства>
        <Сопственост Името="AuthenticationMode" Тип="System.String">PassThrough</Сопственост>
        <Сопственост Името="DatabaseAccessProvider" Тип="System.String">SQLServer</Сопственост>
        <Сопственост Името="RdbConnection Извор на податоци" Тип="System.String">вистински сервер  вистински пример</Сопственост>
        <Сопственост Името="RdbConnection Почетна Каталог" Тип="System.String">вистинските почетна каталог</Сопственост>
        <Сопственост Името="RdbConnection Интегрирана безбедност" Тип="System.String">SSPI</Сопственост>
        <Сопственост Името="RdbConnection Ентитетите за здружување" Тип="System.String">лажни</Сопственост>

        <!-- Овие се клучните вредности: -->
        <Сопственост Името="RdbConnection Корисничко име" Тип="System.String">наctual Корисничко име</Сопственост>
        <Сопственост Името="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 и лозинка
  • вградување на корисничко име и лозинка во ADF
  • вградување на корисничко име и лозинка во ADF ЦРБ
  • SharePoint ЦРБ буквар
  • SharePoint вградување на корисничко име и лозинка во ADF

</крајот>

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