ყოველთვიური არქივი: ნოემბერი 2007

Moss მეუბნება ჩემი column ის სახელია დაცულია ან გამოყენების … მაგრამ ეს არ

განახლების 12/04/07: აგრეთვე this Microsoft KB (http://support.microsoft.com/kb/923589) დაკავშირებული ინფორმაციის.

სინამდვილეში, აღმოჩნდება, რომ ეს, მაგრამ tricksy MOSS had to make it difficult.

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" and MOSS replies: "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" is not a reserved name.
  • He tries to find an existing site column named "Quantity" in that site collection. He cannot find it.

I did some research, and even some coding, waxed philosophical and finally found that a column named Quantity did, სინამდვილეში, exist. It was in the "_Hidden" group. Hence, we could not find it via the SharePoint user interface.

How did it get there? I do not know, but I have a theory (or as my wife would call it, "blah blah blah"). სადღაც ხაზის გასწვრივ, a fabulous forty template was added and probably activated at a site in the site collection. It was then deactivated (or the site removed). The site column, თუმცა, remained but in the "_Hidden" group. If someone knows better, please let me know via ელ or post in the comments.

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) Say that the column name is reserved or it is not. 2) If it’s not reserved, show the site, or at least the group, where the column name is already used.

</ბოლო>

დღევანდელი მონაცემებით ვია OM საბაჟო სია (ან, მორიგი OM მონაცემთა 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."

სვეტი შეეძლოთ შეიქმნება, ამოღებულია და ხელახლა შექმნილი კიდევ ერთი გარემოს, so I knew it wasn’t a reserved name. თუმცა, I simply couldn’t find the column anywhere via the standard SharePoint user interface at any site in the site collection.

I posted to MSDN forums here and the indomitable ანდრია ვუდვორდს pointed me in the direction of the underlying object model data.

I went off to codeplex to find some tools that would help me peer into the underlying OM data and help me locate the trouble.

I tried several tools and they were very cool and interesting but in the end, the UI wasn’t good enough for my purpose. I’m not criticizing them by any means, მაგრამ მკაფიოდ ინსტრუმენტი მიმღები პირები არ მაქვს პრობლემა გათვალისწინებით, როდესაც მათ შექმნეს 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, მაგრამ ბევრი მუშაობა, რათა შეიქმნას დაბრუნება-of-the-ხაზი მომხმარებლის, გამოცდილება, რომელიც ასევე ძალიან მოქნილი.

მე ნამდვილად საჭიროა პასუხი ამ პრობლემის. ეს მოხდა ჩემთან, რომ თუ მე ვერ ყველა საიტი სვეტის ადგილზე კოლექცია შევიდა საბაჟო სია, მე ვერ გავფილტროთ, დასალაგებლად და შექმნას ჩვენებები, რომელიც დამეხმარება ვინ სავარაუდოდ არსებული სვეტი (რაც ეს მოხდა, BTW). I went ahead and did that and an hour or two later, იყო ყველა ჩემი საიტი სვეტები ჩაიტვირთება საბაჟო სიაში დაჯგუფება, 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 მოქმედება — სადამკვირვებლო შესახებ <საველე ჰალსტუხს დიზაინერი ტიპი =”StringBuilder” … />

უბრალოდ სწრაფი დაკვირვების რომ არის ძალიან მნიშვნელოვანი განსხვავება ამ ორ განმარტებები:

<FieldBind საველე = "InParam1" დიზაინერი ტიპი = "სიმებიანი აღმაშენებელი" Id = "2" ტექსტი = "შეყვანის პარამეტრი # 1" />

წინააღმდეგ:

<FieldBind საველე = "InParam1" Id = "2" ტექსტი = "შეყვანის პარამეტრი # 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 გაძლევთ აშენება სიმებიანი (აშკარად) მოზელვას სიმებიანი literals და სამუშაო პროცესის მონაცემები (მეშვეობით "დამატება Lookup" ღილაკს ქვედა მარცხენა კუთხეში). როდესაც თქვენ იყენებთ Add Lookup ღილაკს, ეს ჩანართები ნიშნად სახით "[%ნიშნად%]". როდესაც SharePoint აღვიძებს თქვენი საბაჟო აქცია, (C # კოდი ჩემს შემთხვევაში), SharePoint გადის ნიშნად თავად, არ ღირებულება ნიშნად. თუ თქვენ იყენებთ ძირითადად დიზაინერი ტიპი (მეორე ტიპის), SharePoint აფართოებს ნიშნად და გადის ფაქტობრივი ღირებულება ნიშნად თქვენს აქცია.

StringBuilder = BAD, სტანდარტულ დიზაინერი ივერიის GOOD.

რა თქმა უნდა, ეს არ არის ის, რაც მე ნამდვილად ნიშნავს. უბრალოდ არ ცდილობენ და გაივლის პარამეტრი თქვენი საბაჟო ქმედება, როდესაც დიზაინერი type = StringBuilder. გამოიყენეთ ძირითადად დიზაინერი ტიპის და ჯაჭვის StringBuilder მას up წინ თუ თქვენ უნდა ავაშენოთ კომპლექსი strings თქვენი workflow (რაც სხვათა შორის, სწორედ ის ერთი ჯერ, რომ შევქმნათ დინამიური საგანი ელ აქცია, მაგრამ ეს საგანი კიდევ წაკითხვა შესვლის, აქვს).

<ბოლოს />

პროგრამები Tags: , ,

ნაადრევი სამუშაოს გააქტიურება — არასამთავრობო სამედიცინო გადაჭრა

განახლების: აგრეთვე ამ MSDN დისკუსია, განსაკუთრებით ბოლო ჩანაწერში: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. It describes a condition that may short circuit this whole thing. In short, ეს შეიძლება იყოს ძალიან მარტივი მიღების მინიმუმ ერთი სფეროებში სავალდებულო.

მე მაქვს დოკუმენტი, ბიბლიოთეკა, რომელიც მხარს უჭერს რვა შინაარსი ტიპის.

I have a SharePoint Designer workflow that wants to calculate and assign a "reminder date" უბრალოდ 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: "about to expire" and "expired." (თქვენ მეტი ამ ტიპის KPI და უფრო არსებითი საბურღი-down აქ).

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, we calculate a "warning date" 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" that first submit is part of the "create" event. ასე რომ, … ჩემი workflow უკვე გაათავისუფლეს და როდესაც ის შესრულებული, it was passed default meta data values.

The best work-around I know of is to insert a "pause until" 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. აგრეთვე აქ დაწვრილებითი).

I don’t like "magic delay" 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 სტატია გარკვეული ტექნიკური შედეგებზე მოხსნის ან შეცვლის სტანდარტულ ჯგუფის სახელები (ვხედავ მის კომენტარის ქვემოთ ასევე).

მიმოხილვა:

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.

მნიშვნელოვანი შენიშვნა:

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 ობიექტების, ნებართვა დონეზე და მემკვიდრეობის.

მომხმარებელთა და ჯგუფების ჩაშლის:

  • ინდივიდუალური წევრებს: გამოყვანილია საწყისი აქტიური დირექტორია ან შექმნილი პირდაპირ 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 ობიექტების ნგრევა მაინც:

  • საიტები
  • დოკუმენტი ბიბლიოთეკების
  • ინდივიდუალური ნივთები სიები და დოკუმენტი ბიბლიოთეკების
  • საქაღალდეები
  • სხვადასხვა BDC პარამეტრები.

არსებობს სხვა securable ობიექტების, მაგრამ თქვენ სურათს.

ნებართვა დონეზე: Bundle of მარცვლოვანი / 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.

მომხმარებელთა და ჯგუფების ეხება securable ობიექტების მეშვეობით ნებართვა დონეზე და მემკვიდრეობის.

ყველაზე მნიშვნელოვანი უსაფრთხოების წესები უნდა გვესმოდეს,, ოდესმე :

  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, მე შეიძლება წვდომის ხალხი და ჯგუფები კავშირების მეშვეობით HR საიტი, 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 მონაცემთა ანკეტის ვებ ნაწილი (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. მდებარეობა კონტექსტური მენიუ, select "Convert to XSLT Data View".

SharePoint დიზაინერი აცნობებს თქვენ რომ ეს საიტი არის მორგებულია თავისი საიტი განმარტება. ეს არ არის აუცილებლად ცუდი, მაგრამ არსებობს მნიშვნელოვანი შედეგები მოჰყვეს (შესრულების, განაახლოს, სხვები) which are beyond the scope of this little "Quick and Easy" შესვლის. To get more information on this subject, ვურჩევ ორივე წიგნი აქ ისევე როგორც თქვენი საყვარელი ინტერნეტში ძიება.

ვადასტურებთ, რომ თქვენ გააკეთა სწორად:

  1. დახურვა და განაახლონ ბრაუზერში (to avoid accidentally re-posting the original "add a new web part").
  2. Select the web part’s arrow drop-down and choose "Modify Shared Web Part" მენიუდან.
  3. ინსტრუმენტი პანელი იხსნება მარჯვნივ.
  4. პანელი შეცვლილია მას თავის ჩვეულ კომპლექტი პარამეტრების ამ:
იმიჯი

“ვერ სია სქემის სვეტი ქონების SharePoint სია” — აღწერა / სამუშაო arounds

ამ კვირაში, ჩვენ საბოლოოდ გამრავლება პრობლემა, რომელიც იტყობინებოდა, მოშორებული მომხმარებელი: როდესაც იგი ცდილობდა ექსპორტის შინაარსი სია Excel, რამ ჩანს დავიწყოთ მუშაობა, მაგრამ შემდეგ Excel იქნებოდა პოპ up შეცდომა: "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.

ეს შეცდომა არ დააგდეს უზარმაზარი აჩრდილი თარიღი მონაცემების ტიპის კლიენტების გონება, ასე რომ ჩვენ უნდა ეძებს out საბოლოო პასუხს 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: ,

სწრაფი და მარტივი: პირადი წერილი ჩართული ჰიპერბმულის SharePoint დიზაინერი workflow

ერთხელ ან ორჯერ თვეში, ვინმე შეტყობინება განყოფილებაში კითხვა: "How do I include hyperlinks to URL’s that are clickable from a SharePoint Designer email?"

პრეზენტაცია გარეშე კომენტარი: (კარგად, რეალურად არსებობს კიდევ უფრო შემდეგ კომენტარი იმიჯი):

იმიჯი

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

პროგრამები Tags: , ,

ახალი გამოცემა: SharePoint დიზაინერი სამუშაოს გაგრძელება (სიმებიანი მანიპულირება ფუნქციები)

განახლების: აგრეთვე აქ ჩემი მოსაზრებები იმის შესახებ commercializing ამ პროექტის: 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 მოიცავს შემდეგი ფუნქციები:

ფუნქცია აღწერა (თუ არ იგივე როგორც. წმინდა ფუნქცია)
რაოდენობის მასალა() Returns the number "entries" in a string as per a specified delimiter.

მაგალითად: Num-entries in a string "a,ბ,გ" with delimiter "," = 3.

შემოსვლასთან() Returns the nth token in a string as per a specified delimiter.
სიგრძე String.Length
ჩანაცვლება() String.Replace()
შეიცავს() String.Contains()
Returns the word "true" or the word "false".
Substring(დაიწყოს) String.Substring(დაიწყოს)
Substring(დაიწყოს,სიგრძის) String.Substring(დაიწყოს,სიგრძის)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returns the word "true" or the word "false".
EndsWith() String.EndsWith()
Returns the word "true" or the word "false".

BDC runtime error განმარტა

მე გამოწვეული BDC შეცდომა ამ კვირაში, რომ გამოიხატება თავად ინტერფეისი და 12 hive ჟურნალი at runtime.

პირველი, ამ გამოჩნდა ინტერფეისი:

ვერ იპოვა სფეროებში ჩასასმელი ყველა იდენტიფიკატორი ღირებულებები სწორად შესრულდეს SpecificFinder MethodInstance ერთად სახელი … დარწმუნდით შეტანის პარამეტრები აქვს TypeDescriptors ასოცირდება ყოველ იდენტიფიკატორი განისაზღვრება ამ პირის.

აქ ეკრანზე დარტყმას:

clip_image001

მე შეიძლება გამოიწვიოს ამ გზავნილის გამოჩნდება 12 hive ჟურნალი სურვილისამებრ (using my patented high-tech-don’t-try-this-at-home "საიდუმლო შეცდომები" მეთოდი):

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[
                SELECT
                      , CARRIER_ID, EFFDT, DESCR, 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, ტელეფონი, EXTENSION, ფაქსი, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                WHERE
                  (Leas <> წილი ') და
                  (დაწევა(CARRIER_ID) >= ქვედა(@ MinID)) და
                  (დაწევა(CARRIER_ID) <= ქვედა(@ MaxId)) და
                  (დაწევა(DESCR) LIKE ქვედა(@ InputDescr))
                ]]>
            </ქონების>

მე იმ პირობით, რომ SQL ეხლა DBA პირი და მე მოცემული უნდა გვესმოდეს, რომ ეს სპეციალური view they created just for me. The unique key there is CARRIER_ID.

აქ არის bug გავაცანი:

      <იდენტიფიკატორების>
        <განსაზღვრა სახელი="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 🙂

პროგრამები Tags: , , ,