Monthly Archives: Նոյեմբեր 2007

MOSS Պատմում ինձ իմ սյունակը Անունը է պաշտպանված, կամ օգտագործվող … Բայց չէ

ԹԱՐՄԱՑՆԵԼ 12/04/07: Տեսնել Սա Microsoft KB (http://support.microsoft.com/kb/923589) համար համապատասխան տեղեկություններ.

Իրականում, պարզվում է,, սակայն ժիր MOSS էր դժվար.

My customer does some development work on his MOSS site over the weekend. It’s a bit of a jumble as to what he actually did, սակայն վերջնական արդյունքը սա է:

  • He tries to add a site column called "Quantity" եւ MOSS Գրառումներ: "The column name that you entered is already in use or reserved. Choose another name."
  • He attempts to add it to another environment and that works. Ուստի, "Quantity" չէ զուսպ անունը.
  • He tries to find an existing site column named "Quantity" in that site collection. He cannot find it.

Ես որոշ հետազոտություն, and even some coding, էպիլյացիա անել փիլիսոփայական եւ վերջապես գտել է, որ մի սյուն անունով Քանակը արել, փաստորեն, exist. It was in the "_Hidden" group. Hence, մենք չենք կարող գտնել այն միջոցով SharePoint ինտերֆեյսի.

Ինչպես էր դա այնտեղ? I do not know, բայց ես մի տեսություն (կամ, ինչպես իմ կինը, որ այն անվանում, "blah blah blah"). Տեղ երկայնքով գծում, ա առասպելական քառասուն ձեւանմուշ was added and probably activated at a site in the site collection. It was then deactivated (կամ կայքը հեռացվել). The site column, սակայն, remained but in the "_Hidden" group. If someone knows better, խնդրում եմ ինձ տեղյակ միջոցով փոստ կամ գրանցվեք չէ մեկնաբանություններում.

SharePoint was telling the truth. It’s hardly worth pointing out that that message is not as helpful as it could be. It would be nice to see that message fork into two different messages in the future: 1) Ասում են, որ շարասյունը անունը վերապահված թե չէ. 2) Եթե ​​դա չի պաշտպանվում, ցույց կայքը, կամ գոնե խումբը, որտեղ սյունակ անունը արդեն օգտագործվում է.

</վերջ>

OM Սույն Data միջոցով մաքսային ցուցակում (կամ, Yet Another OM Data Displayor [նման YACC, սակայն տարբեր են])

Այսօր, I spent a handful of hours tracking down the root cause behind the message "The column name that you entered is already in use or reserved. Choose another name."

The սյունակ է, թե կարելի է ստեղծել, ջնջված է եւ կրկին ստեղծվեց մեկ ուրիշ միջավայրում, so I knew it wasn’t a reserved name. Սակայն, Ես ուղղակի չէի կարող գտնել սյունը ամենուր միջոցով ստանդարտ SharePoint ինտերֆեյսի ցանկացած վայրում կայքում հավաքածուի.

I հնչող MSDN ֆորումներ այստեղ եւ կամակոր Andrew Woodward նշեց ինձ ուղղությամբ հիմքում ընկած իրը մոդելային տվյալները.

Ես գնացի դեպի codeplex գտնել որոշ միջոցներ, որոնք կարող են օգնել ինձ գործընկերների մեջ խորքային OM տվյալների եւ օգնել ինձ տեղադրել trouble.

Ես փորձեցի մի քանի գործիքներ, եւ նրանք շատ թույն ու հետաքրքիր, բայց վերջում, the UI wasn’t good enough for my purpose. I’m not criticizing them by any means, սակայն հստակ Tool-մշակողների չուներ իմ խնդիրը մտքում, երբ նրանք ստեղծել են իրենց UI :). Most people seem to be investing a fair amount of time and effort in creating workstation / հաճախորդների դիմումների, որոնք ապահովում են ծառերի views, right-click context menus and so forth. These are nice and all, սակայն դա մեծ աշխատանք է ստեղծել top-of-the-line օգտվողին փորձը, որը նաեւ շատ ճկուն է.

Ես, իրոք, պետք է պատասխան այս խնդրին. Այն առաջացել է ինձ, որ եթե ես կարող ստանալ բոլոր կայքի սյունակներում կայքում հավաքածուի մեջ մաքսային ցուցակում, Ես կարող եմ ֆիլտրում, տեսակավորել եւ ստեղծել տեսակետները, որոնք օգնում են ինձ այս իբր գոյություն ունեցող սյունը (որը արել, Փոխանցել). I went ahead and did that and an hour or two later, որ իմ բոլոր site սյուներ բեռնված մեջ մաքսային ցուցակում խմբավորման, sorting and so forth. I found my answer five minutes later.

Եթե ​​եւ երբ ես հաջողությամբ վերցնում է ամբողջ աշխարհում, I think I will decree that all SharePoint tools providers must seriously consider surfacing their object model data in a custom list. That way, Ես իշխանությունը որոնել որեւէ կերպ չեմ ուզում (կաշկանդված, Իհարկե, ըստ ստանդարտ SharePoint հատկանիշների).

Sharepoint Designer աշխատանքի արդյունքում Custom Action — Դիտորդական մասին <Field Tie Designer Type =”StringBuilder” … />

Պարզապես արագ դիտարկմանը, որ կա մի շատ կարեւոր տարբերություն այս երկու հասկացություններն:

<FieldBind Field = "InParam1" Designer Type = "լարային Builder" Id = "2" Text = "Պահումը անհաջող է տեղաբաշխվել պարամետր # 1" />

ընդդեմ:

<FieldBind Field = "InParam1" Id = "2" Text = "Պահումը անհաջող է տեղաբաշխվել պարամետր # 1" />

Առաջին ցույց հավանում այս SPD:

պատկեր

մինչդեռ վերջինս ցույց է տալիս, այսպես:

պատկեր

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

Դիտորդական է սա: StringBuilder թույլ է տալիս կառուցել տողը (ակնհայտ) - ի կողմից mixing միասին լարային literals ու աշխատանքի արդյունքում տվյալներ (via the "Add Lookup" կոճակը եւ ստորին ձախ ձեռքի անկյունում). When you use the Add Lookup button, it inserts a token in the form "[%կտրոն%]". When SharePoint invokes your custom action, (C # կոդը իմ դեպքում,), Sharepoint անցնում է տարբերիչ նշանը ինքը, not the value of the token. If you use the default designer type (երկրորդ տեսակի), Sharepoint ընդլայնում է տարբերիչ նշանը, եւ անցնում է իրական արժեքը, ի նշան ձեր գործողությունների.

StringBuilder = ՎԱՏ, default դիզայներ տեսակ = ԼԱՎ.

Իհարկե, that’s not what I really mean. Just don’t try and pass a parameter to your custom action when the designer type = StringBuilder. Use the default designer type and chain a StringBuilder to it up front if you need to build complex strings in your workflow (որն դեպ այն, ինչ կարելի է ստեղծել դինամիկ վերնագիրը համար էլ ակցիայի, Սակայն դա մեկ այլ թեմա բլոգ - գրառմանը, եղել է).

<Խաղի տեւողությունը րոպեներով />

Վաղաժամ աշխատանքի արդյունքում ակտիվացում — A Non-բժշկական Solution

ԹԱՐՄԱՑՆԵԼ: Տես այս MSDN քննարկումը, հատկապես վերջին գրառումը: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. It describes a condition that may short circuit this whole thing. Մի խոսքով, այն կարող է լինել նաեւ պարզ դարձնելու առնվազն մեկը դաշտերը պարտադիր.

Ես մի փաստաթուղթ գրադարան, որը օժանդակում է ութ բովանդակության տեսակի.

Ես Sharepoint դիզայներ աշխատանքի արդյունքում է, որ ցանկանում է հաշվարկում եւ հանձնարարել մի հիշեցում ամսաթիվը" պարզապես subtracting 30 օրվա մեկ այլ սյունակ, "due date". This should only happen for one of the content types, "Insurance". The business objective is to produce a KPI that shows two categories of insurance documents: «Մոտ է ավարտվում" and "expired." (Դուք կարող եք կարդալ այս տեսակի KPI ու ավելի զգալի է տիկ. այստեղ).

I have configured the workflow to fire when a new item is created and when an item is modified. The idea is that when an insurance document is uploaded, Մենք հաշվարկել մի նախազգուշացնող ամսաթիվը" based on the expiration date. A pair of views work in connection with a KPI List to highlight these conditions when users hit their home page.

Սույն ռազմավարությունը չի աշխատում, երբ ես բեռնել փաստաթուղթը.

I upload the document and I am presented with the meta data entry screen. Այս պահին, I’m already in trouble. SharePoint has already, վաղաժամկետ իմ տեսանկյունից, fired the workflow. I haven’t had a chance to pick the correct content type nor assign a due date. Միեւնույն ժամանակ,, the workflow does not fire when I hit the submit button at this time. There’s some built-in logic that "believes" որ նախ ներկայացնել մի մասն է, որը «ստեղծում" event. Այնքան … իմ աշխատանքի արդյունքում է կրակել, եւ երբ այն կատարվում, it was passed default meta data values.

Լավագույն աշխատանքի շուրջ: Ես գիտեմ, որ տեղադրեք մի ընդհատումը մինչեւ" activity in the workflow. I have the workflow pause for 1 minute. While it’s pausing, Ես ընտրել ճիշտ բովանդակության տեսակը, enter the meta data and submit. The pause completes and the workflow proceeds as needed. (Նշենք, որ իմ միջավայրում, timer workflow activities from SPD do not work out of the box. You may have the same trouble. Տեսնել այստեղ օգնությամբ լրացուցիչ մանրամասների համար).

Չեմ սիրում է կախարդական հետաձգում" work-around. What happens if the user uploads a document and the phone rings and the ensuing conversation outlasts the pause? I can make the pause longer, բայց ես դեռ չեմ սիրում.

Ես այս մասին գրել է MSDN ֆորումների այստեղ: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Sharepoint անվտանգության հիմնադրույթները պիստոն / Խուսափեք ընդհանուր որոգայթներ

ԹԱՐՄԱՑՆԵԼ 12/18/07: Տես Պոլ Liebrand հոդվածը որոշ տեխնիկական հետեւանքների վերացման կամ ձեւափոխման հիմնական խումբ անունները (տեսնել իր մեկնաբանությունը ստորեւ ինչպես նաեւ).

Overview:

SharePoint security is easy to configure and manage. Սակայն, it has proven to be difficult for some first-time administrators to really wrap their hands around it. Not only that, I have seen some administrators come to a perfect understanding on Monday only to have lost it by Friday because they didn’t have to do any configuration in the intervening time. (Ես ընդունում է, որ այս խնդիրը ինձ). This blog entry hopefully provides a useful SharePoint security primer and points towards some security configuration best practices.

Կարեւոր Note:

This description is based on out of the box SharePoint security. My personal experience is oriented around MOSS so there may be some MOSS specific stuff here, but I believe it’s accurate for WSS. I hope that anyone seeing any errors or omissions will point that out in comments or փոստին ինձ. I’ll make corrections post haste.

Նոր:

Նպատակների համար, այս ակնարկ, կան չորս հիմնական կողմեր ​​անվտանգության: ալբոմներ Խմբի մասին, securable առարկաներ, Թույլտվության մակարդակները եւ ժառանգման.

Users եւ Խմբեր կոտրել ներքեւ:

  • Անհատական ​​օգտվողները: Ձգված է Active Directory, կամ ստեղծել անմիջապես Sharepoint.
  • Խմբեր: Mapped directly from active directory or created in SharePoint. Groups are a collection of users. Groups are global in a site collection. They are never "tied" դեպի տվյալ օբյեկտի securable.

Securable առարկաներ կոտրել են առնվազն:

  • Sites
  • Փաստաթղթերի որոնում
  • Անհատական ​​ապրանքներ ցուցակների եւ փաստաթղթային գրադարանների
  • Թղթապանակներ
  • Տարաբնույթ BDC պարամետրեր.

Կան նաեւ այլ առարկաներ securable, բայց դուք ստանում նկարը.

Թույլտվության մակարդակները: A փաթեթ է հատիկավոր / low level access rights that include such things as create/read/delete entries in lists.

Ժառանգականություն: By default entities inherit security settings from their containing object. Sub-sites inherit permission from their parent. Document libraries inherit from their site. So on and so forth.

Users եւ խմբերի վերաբերում securable օբյեկտների միջոցով թույլտվության մակարդակների եւ ժառանգման.

Կարեւորագույն անվտանգության կանոնները հասկանալու, Ever 🙂 :

  1. Խմբեր պարզապես հավաքածուներ օգտվողներին.
  2. Խմբերն են գլոբալ ընթացքում կայքի հավաքածուի մեջ (i.e. չկա նման բան, ինչպես նաեւ մի խումբ սահմանված է կայքի մակարդակում).
  3. Խմբի անունը չի կարող դիմակայել, խմբեր չեն, - ին եւ իրենց, have any particular level of security.
  4. Groups have security in the context of a specific securable object.
  5. Դուք կարող եք վերագրելու տարբեր մակարդակներ թույլտվության նույն խմբի յուրաքանչյուր օբյեկտի securable.
  6. Վեբ քաղաքականությունը հաղթաթուղթ այս ամենը (տես ստորեւ).

Անվտանգության ադմինիստրատորները կորցրել է ծովում խմբի Օգտվողի ցանկերի միշտ կարող եք ապավինել այդ axioms կառավարել եւ հասկանալ դրանց անվտանգության կոնֆիգուրացիան.

Ընդհանուր որոգայթներ:

  • Խմբի անունները կեղծ ենթադրում թույլտվություն: Դուրս վանդակում, SharePoint defines a set of groups whose names imply an inherent level of security. Consider the group "Contributor". One unfamiliar with SharePoint security may well look at that name and assume that any member of that group can "contribute" to any site/list/library in the portal. That may be true but not because the group’s name happens to be "contributor". This is only true out of the box because the group has been provided a permission level that enables them to add/edit/delete content at the root site. Through inheritance, the "contributors" group may also add/edit/delete content at every sub-site. One can "break" the inheritance chain and change the permission level of a sub-site such that members of the so-called "Contributor" Խումբը, որին կարող է նպաստել ընդհանրապես, բայց միայն կարդալու (օրինակ). This would not be a good idea, ակնհայտ, քանի որ դա կլինի շատ շփոթեցնող.
  • Խմբեր չեն սահմանվում է կայքի մակարդակում. It’s easy to be confused by the user interface. Microsoft provides a convenient link to user/group management via every site’s "People and Groups" ՈՒղեցույց. It’s easy to believe that when I’m at site "xyzzy" and I create a group through xyzzy’s People and Groups link that I’ve just created a group that only exists at xyzzy. That is not the case. I’ve actually created a group for the whole site collection.
  • Խմբեր անդամակցությունը չի տարբերվել կայքում (i.e. դա նույնն է ամենուր խումբն օգտագործվում է): Consider the group "Owner" եւ երկու կայքեր, "HR" and "Logistics". It would be normal to think that two separate individuals would own those sites — an HR owner and a Logistics owner. The user interface makes it easy for a security administrator to mishandle this scenario. If I didn’t know better, Ես կարող մուտք գործել այդ մարդկանց եւ խմբերի հղումներ միջոցով ՀՀ ՄԻ խնդիր կայքում, select the "Owners" group and add my HR owner to that group. A month later, Logistics comes on line. I access People and Groups from the Logistics site, add pull up the "Owners" group. I see the HR owner there and remove her, thinking that I’m removing her from Owners at the Logistics site. Ի դեպ, I’m removing her from the global Owners group. Hilarity ensues.
  • Այդպես անուն խմբերի վրա հատուկ դերի: The "Approvers" group is a perfect example. What can members of this group approve? Where can they approve it? Do I really want people Logistics department to be able to approve HR documents? Of course not. Always name groups based on their role within the organization. This will reduce the risk that the group is assigned an inappropriate permission level for a particular securable object. Name groups based on their intended role. In the previous HR/Logistics scenario, Ես պետք է ստեղծել երկու նոր խմբեր: "HR Owners" and "Logistics Owners" եւ հանձնարարել զգայուն թույլտվության մակարդակների համար միմյանց եւ նվազագույն գումար անհրաժեշտ է այն օգտագործողների համար, որպեսզի իրենց աշխատանքը.

Այլ օգտակար հղումներ:

Եթե ​​դու դարձրեց դա հեռու:

Please let me know your thoughts via the comments or email me. If you know other good references, խնդրեմ նույնն անել!

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

Արագ եւ հեշտ: Ստեղծել Տվյալների Նայել վեբ դեմ (DVWP)

Կա հարստությունը մեծ տեղեկությունների վրա WSS 3.0 Data Դիտել Web Part (DVWP) on the web from several sources. Սակայն, I found it to be surprisingly difficult to find information on this first very basic step. Here is another article in the "quick and easy" Սայլակ դիմել այն.

Հետեւեք այս քայլերին, ստեղծել տվյալների դիտեք վեբ մասին (DVWP). They are based on an "Announcements" Վեբ մաս, բայց կիրառվում է բոլոր ցուցակները.

  1. Ստեղծել Հայտարարություններ վեբ մասը եւ ավելացնել այն կայքում.
  2. Բացեք կայքը է Sharepoint դիզայներ.
  3. Բացիր այս կայքի default.aspx.
  4. Select the Announcements web part and right-click.
  5. From համատեքստում ընտրացանկում, ընտրել «նորադարձ XSTheT Data View ".

Sharepoint Designer տեղեկացնում ենք ձեզ, որ այս կայքը է հարմարեցված իր կայքի սահմանումը. Դա պարտադիր չէ, որ վատ, բայց կան կարեւոր հետեւանքներ (կատարում, բարձրացնել, ուրիշները) որոնք դուրս են շրջանակներում այս փոքրիկ «Արագ եւ հեշտ" մուտք. To get more information on this subject, Ես խորհուրդ երկու գրքերը այստեղ ինչպես նաեւ `Ձեր սիրելի Internet որոնում.

Հաստատեք, որ դուք արել է այն ճիշտ:

  1. Փակեք եւ նորից բացել ոստայնաթերթիչը (խուսափելու պատահաբար նորից փակցնում բնօրինակի "ավելացնել նոր վեբ մաս»:).
  2. Ընտրել կայքի մասին է սլաքը բացվող եւ ընտրեք «փոփոխել Հղում Web Part" սկսած ցանկից.
  3. Այդ գործիքը վահանակ բացում դեպի աջ.
  4. Վահանակը տեղակայվում է փոխվել իր սովորական սահմանված ընտրանքներ այս:
պատկեր

“Հնարավոր չէ ստանալ ցուցակ schema սյունակի սեփականություն է Sharepoint ցուցակում” — նկարագիր / աշխատանքի arounds

Այս շաբաթ, մենք վերջապես վերարտադրվել մի խնդիր է, որ արդեն հաղորդում է հեռավոր Տեղ: Երբ նա փորձել է արտահանել բովանդակությունը ցուցակի է excel մասին, բաներ, որ կարծես թե սկսել է աշխատել, բայց հետո Excel, որ pop մինչեւ սխալ: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

Ես փնտրում են Internets եւ տեսավ, որ շահարկման բայց ոչինչ 100% definitive. Hence, Հաղորդագրություններ.

Խնդիրն: Արտահանելու նպատակով excel մասին, որ պարունակում է ամսաթվով (Ամսաթիվ = տվյալների տեսակը սյունակի).

Ինչ է մեզ համար: Convert the date to a "single line of text". Ապա, նորադարձ այն վերադարձնելու օրվան.

That solved it. It was nice to see that the conversion worked, իրականում. It was quite nervous that converting things this way would fail, but it did not.

This bug է նետվել հսկայական ստվեր է ամսաթիվը տվյալների տեսակ է հաճախորդի միտք, ուրեմն մենք պիտի ձգտում են վերջնական պատասխան Microsoft-ի, եւ հուսով եմ Ամսաթիվ եւ թարմացնել այստեղ հաջորդ կարճ ժամանակահատվածում իրենց պաշտոնական պատասխանին, եւ hotfix տեղեկություններ.

Այլ հղումներ:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<վերջ>

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

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

Արագ եւ Simple: Ուղարկել էլ - նամակ, ինչպես նաեւ ներդրված հղիչ է Sharepoint դիզայներ աշխատանքի արդյունքում

Մեկ - երկու անգամ ամսվա մեջ, ինչ - որ մեկը հաղորդագրություններ ֆորումում հարցը: «Ինչպես կարող եմ ներառել hyperlinks վրա հղում է, որոնք clickable մի Sharepoint դիզայներ նամակ?"

Ներկայացրեց առանց լրացուցիչ մեկնաբանությունների: (լավ, ըստ էության, գոյություն ունի նաեւ մեկնաբանել հետո պատկերով):

պատկեր

Becky Isserman հետեւում վեր է օգտակար բացատրության, թե ինչպես տեղադրել հղում դեպի նյութի մեջ էլ: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

New Release: Sharepoint նախագծով աշխատանքի արդյունքում Ստուգման (լարային շահարկման գործառույթները)

ԹԱՐՄԱՑՆԵԼ: Տես այստեղ իմ մտքերի վրա առեւտրայնացումը այս նախագիծը: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Ես զբաղված աշխատում իմ Codeplex նախագծին, որը ներկայումս կենտրոնացած է մատուցում լարային շահարկման ընդարձակման համար workflows ստեղծված միջոցով Sharepoint դիզայներ.

Տես այստեղ մանրամասն:

Նախագծի էջ: http://www.codeplex.com/spdwfextensions

Ազատ արձակել: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Տարբերակ 1.0 ընդգրկում է հետեւյալ հատկանիշները,:

Ֆունկցիա Նկարագրություն (եթե ոչ նույնը: Զուտ գործառույթը)
NUM-գրառում() Վերադարձնում համարը գրառումներ" in a string as per a specified delimiter.

Օրինակ,: NUM-ի գրանցումները մի պարանի «ա,բ,գ" սահմանազատիչ հետ "," = 3.

Մուտք() Returns the nth token in a string as per a specified delimiter.
Երկարություն String.Length
Փոխարինել() String.Replace()
Պարունակում է() String.Contains()
Վերադարձնում բառը, «ճիշտ է" կամ բառը: «կեղծ».
Ենթատող(սկսել) String.Substring(սկսել)
Ենթատող(սկսել,երկարություն) String.Substring(սկսել,երկարություն)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Վերադարձնում բառը, «ճիշտ է" կամ բառը: «կեղծ».
EndsWith() String.EndsWith()
Վերադարձնում բառը, «ճիշտ է" կամ բառը: «կեղծ».

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: , , ,