miesięczne archiwum: Listopada 2007

Mech mówi mi moja kolumna nazwy jest zastrzeżone lub w użytku … Ale to nie

AKTUALIZACJA 12/04/07: Zobacz to Microsoft KB (http://support.microsoft.com/kb/923589) dla informacji związanych z.

Faktycznie, okazuje się, że jest, ale gdy tricksy Mech musiał zrobić to trudne.

Mój klient ma pewne prace na swojej stronie MOSS w weekend. To jest trochę staroci, co rzeczywiście zrobił, ale efekt końcowy jest to:

  • Próbuje dodać kolumnę witryny o nazwie "ilość" i mech odpowiedzi: "Wprowadzona nazwa kolumna jest już używana lub zastrzeżona. Wybierz inną nazwę."
  • Próbuje dodać go do innego środowiska i że działa. W związku z tym, "Ilość" nie jest nazwą zastrzeżoną.
  • Stara się znaleźć istniejącą kolumnę witryny o nazwie "ilość" w tym zbiorze witryn. On nie może go znaleźć.

Zrobiłem kilka badania, a nawet niektóre kodowania, woskowane filozoficzne i w końcu znalazłem, że kolumna o nazwie ilość nie, W zasadzie, istnieje. To było w "ukryte" Grupa. Stąd, nie mogłem go znaleźć za pośrednictwem interfejsu użytkownika programu SharePoint.

Jak to się tam? Nie wiem, ale mam teorię (lub jak nazywają to, moja żona, "bla bla bla"). Gdzieś wzdłuż linii, a fantastyczny szablon czterdzieści został dodany i prawdopodobnie aktywowany na witryny w zbiorze witryn. Następnie został dezaktywowany (lub strony usunięte). Kolumnie witryny, Jednakże, ale w "ukryte pozostał" Grupa. Jeśli ktoś wie lepiej, Proszę dać mi znać poprzez Adres e-mail lub pisać w komentarzach.

SharePoint mówił prawdę. To raczej nie warto zauważyć, że ta wiadomość nie jest tak pomocne, jak mógłby być. Byłoby miło widzieć że widelec wiadomość do dwóch różnych komunikatów w przyszłości: 1) Powiedzieć, że nazwa kolumna jest zastrzeżone lub nie jest. 2) Jeśli nie jest on zarezerwowany, Pokaż strony, lub co najmniej grupy, gdy nazwa kolumna jest już używany.

</koniec>

Obecne dane OM za pośrednictwem listy niestandardowej (lub, Jeszcze innym OM Displayor danych [Podobnie jak YACC, ale inny])

Dzisiaj, Spędziłem kilka godzin tropienie przyczynę za wiadomość "wprowadzona nazwa kolumna jest już używana lub zastrzeżone. Wybierz inną nazwę."

W kolumna może być utworzony, usunięty i utworzony ponownie w innym środowisku, tak, wiedziałem, że nie było nazwą zastrzeżoną. Jednakże, Po prostu nie mogłem znaleźć nigdzie kolumna poprzez standardowy interfejs użytkownika programu SharePoint w dowolnym miejscu w zbiorze witryn.

Wysłana do Forum MSDN tutaj i niezłomnego Andrew Woodward wskazał mi w kierunku obiektu modelu dane.

I udał do witrynie CodePlex Aby znaleźć kilka narzędzi, które pomogą mi peer w danych źródłowych OM i pomóc mi zlokalizować problem.

Próbowałem kilka narzędzi i były one bardzo fajne i ciekawe, ale w końcu, Interfejs użytkownika nie było wystarczająco dobre dla moich celów. Ja nie krytykuję ich w jakikolwiek sposób, ale wyraźnie narzędzie twórcy nie mają mój problem w umyśle, kiedy stworzył ich UI :). Większość ludzi wydaje się być inwestowanie sporo czasu i wysiłku w tworzenie stacji roboczej / klient aplikacji, które zapewniają widoki na drzewo, Kliknij prawym przyciskiem myszy menu kontekstowe i tak dalej. Są ładne i wszystkie, ale to dużo pracy, aby utworzyć doświadczenie użytkownika top z-line, który również jest bardzo elastyczny.

I naprawdę potrzebne odpowiedzi na ten problem. Dotarło do mnie, czy mogę dostać wszystkie kolumny witryny w zbiorze witryn do listy niestandardowej, Można filtrować, sortowanie i tworzyć widoki, które pomogą mi znaleźć ten rzekomo istniejącej kolumna (co się stało, AT4). Poszedł do przodu i zrobił to i godzinę lub dwie później, miałem mój umiejscowienie kolumny załadowane niestandardowe listy grupowanie, sortowanie i tak dalej. Znalazłem moją odpowiedź pięć minut później.

Jeśli pomyślnie przejąć świat, Myślę, że będzie dekret, że wszystkich dostawców narzędzi programu SharePoint należy poważnie rozważyć napawania ich obiekt modelu danych w niestandardowej listy. W ten sposób, Mam moc szukać wszelki sposób chcę (ograniczone, Oczywiście, przez funkcje standardowego programu sharepoint).

Niestandardowej akcji przepływu pracy programu SharePoint Designer — Obserwacji o <Projektant FieldBind typ =”StringBuilder” … />

Tylko szybkie obserwacji, że jest bardzo istotna różnica między te dwie definicje:

<Pole FieldBind = "InParam1" DesignerType = "StringBuilder" ID = "2" Tekst = "Parametr wejściowy #1" />

kontra:

<Pole FieldBind = "InParam1" ID = "2" Tekst = "Parametr wejściowy #1" />

Pierwszy pokazuje, jak to w SPD:

obraz

podczas gdy te ostatnie pokazuje, jak to:

obraz

Nie jestem pewien, na ile pomocne są te zrzuty ekranu, ale włożyłem wysiłek, aby je zrobić, więc musisz je obejrzeć 🙂

Jest to spostrzeżenie: StringBuilder pozwala zbudować ciąg (Oczywiście) przez zmieszanie literały ciągów znaków i przepływu danych (za pomocą "Dodaj odnośnik" przycisk w lewym dolnym rogu). Kiedy używasz przycisku Dodaj odnośnik, Wstawia token w formie"[%tokeny %]". Kiedy SharePoint wywołuje swoje niestandardowe działania, (Kod C# w moim przypadku), SharePoint przekazuje tokenu, sam, nie wartość tokena. Jeśli używasz projektant domyślny typ (Drugi typ), SharePoint rozszerza token i przechodzi rzeczywista wartość tokenu do działania.

StringBuilder = źle, Domyślnie projektant typ = dobry.

Oczywiście, to nie chodzi mi o naprawdę. Po prostu nie spróbować i przekazać parametr niestandardowe działania, gdy projektant wpisz = StringBuilder. Użyj domyślny typ projektant i łańcuch StringBuilder Aby go do przodu jeśli trzeba budować złożone ciągi w pracy (który nawiasem mówiąc jest dokładnie, co się robi aby utworzyć dynamiczne przedmiotem działania e-mail, ale to temat na inny wpis w blogu, Har har).

<koniec />

Przedwczesne pracy aktywacja — Rozwiązanie-medyczne

AKTUALIZACJA: Zobacz dyskusję MSDN, szczególnie ostatni wpis: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Opisuje stan, który może Krótki obwód tego wszystkiego. W skrócie, to może być tak proste, jak co najmniej jedno z pól obowiązkowych.

Mam ów podtrzymuje osiem typów zawartości biblioteki dokumentów.

Mam przepływu pracy programu SharePoint Designer, który chce obliczyć i przypisać datę przypomnienia"" po prostu odejmując 30 dni od innej kolumny, "termin". To powinno zdarzyć się tylko do jednego z typów zawartości, "Ubezpieczenia". Celem firmy jest produkcja KPI, który pokazuje dwie kategorie dokumentów ubezpieczeniowych: "około wobec wygasać" i "skończony." (Możesz przeczytać więcej na temat tego rodzaju KPI i więcej istotne drążenia niedziałający tutaj).

Mam skonfigurowany przepływ pracy do ognia podczas tworzenia nowego elementu i modyfikacji elementu. Chodzi o to, że po przesłaniu dokumentów ubezpieczeniowych, możemy obliczyć datę ostrzeżenie"" na podstawie daty wygaśnięcia. Parę poglądów na pracę w związku z listy KWW do podkreślenia tych warunków, gdy użytkownicy hit ich Strona.

Strategia ta nie działa, gdy mogę przesłać dokument.

Mogę przesłać dokument i jestem przedstawiony z ekranu wprowadzania danych meta. W tym momencie, Ja już jestem w tarapatach. Programu SharePoint ma już, przedwcześnie z mojego punktu widzenia, odpaliłem przepływu pracy. Nie mieli szansę wybrać poprawny typ zawartości ani przypisywanie daty ukończenia. W tym samym czasie, przepływ pracy jest wyzwalana, gdy uderzył przycisk Prześlij w tej chwili. Istnieje kilka wbudowanych logiki, która "uważa" że najpierw przedstawić jest częścią "Tworzenie" zdarzenie. Tak … mojej pracy został zwolniony i kiedy go wykonać, było minęło domyślnie meta danych wartości.

Najlepsza praca wokoło znam się wstawić pauzę"do" aktywność w pracy. Mam pauza przepływu pracy dla 1 minut. A to jest wstrzymywanie, I wybierz poprawny typ zawartości, Wprowadź dane meta i przedstawić. Zakończy się wstrzymać i przepływ pracy jest kontynuowany w razie potrzeby. (Należy zauważyć, że w moim środowisku, zegar pracy działania z SPD nie działa po wyjęciu z pudełka. Może masz ten sam zmartwienie. Zobacz tutaj Aby uzyskać więcej informacji).

Nie podoba mi się "magia opóźnienia" praca wokoło. Co się stanie, jeśli użytkownik wysyła dokument i dzwoni telefon i wynikających z nich rozmowy pokonuje pauzy? Można zrobić dłuższa pauza, ale nadal nie podoba, to.

Pisałem o tym na forum MSDN tutaj: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

SharePoint bezpieczeństwa podstawy Primer / Uniknąć typowych pułapek

AKTUALIZACJA 12/18/07: Paul Liebrand w artykule pewne konsekwencje techniczne usuwanie lub modyfikowanie domyślnej nazwy grupy (Zobacz także jego komentarz poniżej).

Przegląd:

SharePoint bezpieczeństwa jest łatwe do konfigurowania i zarządzania. Jednakże, on okazał się być trudne dla niektórych administratorów po raz pierwszy naprawdę owinąć swoje ręce wokół niego. Nie tylko, że, Mam widział Niektórzy administratorzy są doskonałe zrozumienie w poniedziałek tylko do stracili to piątek, bo nie mają robić żadnej konfiguracji w czasie interwencji. (Przyznam, że o ten problem, ja). Ten wpis w blogu mam nadzieję, że zawiera przydatne podkład zabezpieczeń programu SharePoint i punkty wobec niektórych konfiguracji najważniejsze wskazówki dotyczące zabezpieczeń.

Uwaga:

Ten opis jest oparty na polu SharePoint bezpieczeństwa. Moje osobiste doświadczenie jest zorientowana wokół MOSS, więc mogą być pewne MOSS konkretnych rzeczy tutaj, ale uważam, że jest to dokładne dla WSS. Mam nadzieję, że ktoś widząc błędy lub przeoczenia będzie podkreślić, że w komentarzach lub e-mail ja. Zrobię korekty po pośpiechu.

Podstawy:

Dla celów tego przeglądu, Istnieją cztery podstawowe aspekty bezpieczeństwa: użytkowników/grup, zabezpieczanych obiektów, poziomy uprawnień i dziedziczenie.

Użytkownicy i grupy przerwa w dół do:

  • Użytkowników indywidualnych: Wyciągnął z aktywnym katalogu lub utworzonych bezpośrednio w programie SharePoint.
  • Grupy: Mapowane bezpośrednio z usługi active directory lub utworzone w SharePoint. Grupy są to zbiór użytkowników. Grupy są globalne w zbiorze witryn. Oni nigdy nie "związane są" dla określonego obiektu zabezpieczanego.

Zabezpieczanych obiektów break down do co najmniej:

  • Stron
  • Biblioteki dokumentów
  • Poszczególne pozycje na listach i w bibliotekach dokumentów
  • Foldery
  • Różne ustawienia usługi łączności danych biznesowych.

Tam inne zabezpieczany obiektów, ale masz obraz.

Poziomy uprawnień: Pakiet materiałów sypkich / niski poziom dostępu do praw, które obejmują takie rzeczy jak tworzenie, odczyt/usuwanie wpisów w listach.

Dziedziczenie: Domyślnie elementy dziedziczą ustawienia zabezpieczeń z ich obiektu zawierającego. Podwitryny dziedziczą uprawnienia z rodziców. Biblioteki dokumentów dziedziczą z ich strony. Tak dalej i tak dalej.

Użytkownicy i grupy odnoszą się do zabezpieczanych obiektów za pośrednictwem poziomów uprawnień i dziedziczenie.

Najważniejsze zasady bezpieczeństwa, aby zrozumieć, Ever 🙂 :

  1. Grupy są po prostu Kolekcje użytkowników.
  2. Grupy są globalne w zbiorze witryn (tj.. istnieje coś takiego jak grupa zdefiniowane na poziomie witryny).
  3. Nazwa grupy nie wytrzymać, grupy nie, w i o sobie, mają szczególne poziom bezpieczeństwa.
  4. Grupy mają bezpieczeństwa w kontekście konkretnego obiektu zabezpieczany.
  5. Może przypisać różne poziomy uprawnień do tej samej grupy dla każdego obiektu zabezpieczanego.
  6. Zasady aplikacji sieci Web atutem tego wszystkiego (patrz poniżej).

Administratorzy zabezpieczeń zagubiony w morzu grupy i użytkownika oferty zawsze możesz liczyć na te Aksjomaty do zarządzania i zrozumieć ich konfiguracji zabezpieczeń.

Typowych pułapek:

  • Nazwy grup fałszywie pociąga za sobą uprawnienie: Po wyjęciu z pudełka, SharePoint definiuje zestaw grup, których nazwy oznacza związane poziom bezpieczeństwa. Należy wziąć pod uwagę grupy "Autor". Jeden nieobeznanych z SharePoint bezpieczeństwa może dobrze przyjrzeć się tej nazwy i zakładam, że każdy członek tej grupy może "przyczynić się" do każdej witryny/listy/biblioteki w portalu. Może to być prawdą, ale nie dlatego, że nazwa grupy stanie się "autor". Tylko to prawda po wyjęciu z pudełka, bo Grupa przedstawiła poziom uprawnień, który pozwala na Dodawanie/edycja/usuwanie zawartości na stronie głównej. Za pomocą dziedziczenia, uczestników"" Grupa może również dodać/wydawać/delegować treść na każdej stronie. Jeden może "złamać" łańcucha dziedziczenia i zmiany uprawnień poziom sub-strony, takie że członkowie tzw "respondenta" Grupa nie może przyczynić się w ogóle, ale tylko do odczytu (na przykład). To nie byłby to dobry pomysł, Oczywiście, od tego czasu byłoby bardzo mylące.
  • Grupy nie są zdefiniowane na poziomie witryny. Nietrudno pomylić się przy użyciu interfejsu użytkownika. Firma Microsoft udostępnia wygodny link do użytkownika/grupy zarządzania za pośrednictwem Każda witryna "osób i grup" link. To jest łatwo uwierzyć, że gdy jestem na stronie "xyzzy" i stworzyć grupę przez xyzzy dla osób i grup łącze które właśnie stworzyliśmy grupę, która istnieje tylko w xyzzy. To nie przypadek. Faktycznie stworzyliśmy grupę do zbierania całej witryny.
  • Członkostwo grupy nie zależy od strony (tj.. tak samo jest wszędzie tam, gdzie jest używana grupa): Należy wziąć pod uwagę grupy "właściciela" i dwa miejsca, "HR" i "Logistyka". Byłoby to normalne, aby myśleć, że dwie odrębne osoby chcieliby własne tych miejsc — właścicielem HR i właścicielem logistyki. Interfejs użytkownika ułatwia administratorowi zabezpieczeń mishandle tego scenariusza. Gdybym nie wiedział lepiej, Może uzyskać dostęp do osób i grup linki za pośrednictwem strony HR, Wybierz "właścicieli" grupy i dodać mój właściciel HR do tej grupy. Miesiąc później, Logistyka jest na linii. Dostęp do osób i grup ze strony logistyki, dodać podciągnąć właścicieli"" Grupa. Zobacz właściciela HR i usunąć ją, myśli, że jestem jej usunięcie z właścicieli na stronie logistyki. W zasadzie, Jestem usunięcie jej z globalnej grupy właścicieli. Następuje wesołość.
  • Nie nazwę grupy w oparciu o szczególnej roli: "Osoby zatwierdzające" Grupa jest doskonałym przykładem. Co można członków tej grupy Zatwierdź? Gdzie oni to zatwierdzić? Naprawdę chcesz dział logistyki ludzi, aby mogli zatwierdzać dokumenty HR? Oczywiście nie. Zawsze nazwę grupy na podstawie ich roli w organizacji. Zmniejszy to ryzyko, że grupa jest przypisany poziom uprawnień nieodpowiednie dla określonego obiektu zabezpieczanego. Nazwa grupy w oparciu o ich rolę. W poprzednim scenariuszu HR/logistyka, Powinien zostały utworzone dwa nowe grupy: "HR właścicieli" i logistyka właścicieli"" i przypisać poziomy uprawnień sensowne dla każdego i kwota minimalna wymagana dla tych użytkowników wykonywać swoją pracę.

Inne przydatne odnośniki:

Jeśli już się to znacznie:

Podobać się puszczać mi znać swoje myśli poprzez komentarze lub napisz do mnie. Jeśli znasz inne dobre referencje, proszę zrobić to samo!

Technorati znaczniki:

Szybkie i łatwe: Tworzenie składnika Web Part Widok danych (DVWP)

Istnieje mnóstwo wspaniałych informacji na WSS 3.0 Składnik Web Part Widok danych (DVWP) w sieci z kilku źródeł. Jednakże, I okazało się być zaskakująco trudne do znalezienia informacji na ten pierwszy krok bardzo podstawowe. Oto kolejny artykuł w "szybkie i łatwe" Seria do jego rozwiązania.

Wykonaj następujące kroki, aby utworzyć składnik web part widok danych (DVWP). Są one oparte na "ogłoszenia" składnik Web part, ale stosuje się do większości list.

  1. Tworzenie ogłoszeń składnika web part i dodać go do witryny.
  2. Otwórz witrynę w programie SharePoint Designer.
  3. Otwórz strona default.aspx.
  4. Wybierz część sieci web ogłoszenia i kliknij prawym przyciskiem myszy.
  5. Z menu kontekstowego, Wybierz "Konwertuj do XSLWidok danych T".

SharePoint Designer informuje, że ta strona jest dostosowany od jego definicji witryny. To nie musi być złe, ale istnieją poważne konsekwencje (wydajność, uaktualnienia, inne) które są poza zakres tego trochę "szybkie i łatwe" wpis. Aby uzyskać więcej informacji na ten temat, Polecam obie książki tutaj a także swoje ulubione wyszukiwania Internet.

Potwierdzić, że zrobiłeś to poprawnie:

  1. Zamknij i ponownie otwórz przeglądarkę (Aby uniknąć przypadkowego ponownego delegowania oryginalny "dodać nowy składnik web part").
  2. Wybierz składnika web part strzałkę menu rozwijanego i wybierz opcję "Modyfikuj udostępniony składnik Web Part" z menu.
  3. Panelu narzędzie otwiera się w prawo.
  4. Panel zmienił się z jego zwykle zestaw opcje do tego:
obraz

“Nie można uzyskać listy Właściwość kolumna schematu z listy programu SharePoint” — Opis obejścia

W tym tygodniu, mamy wreszcie przedstawiony problem, które zostały zgłoszone przez użytkowników zdalnych: Kiedy próbowała wyeksportować zawartość listy do programu excel, rzeczy wydaje się rozpocząć pracę, ale wtedy Excel by³by trzaskaæ w górze błąd: "Nie można uzyskać listy właściwości kolumny schematu z listy programu SharePoint". Ona działa biuro 2003, Windows XP i podłączenia do MOSS.

Szukałem Internets i spekulacje, ale nic nie zobaczył 100% ostateczne. Stąd, Ten post.

Problem: Eksportowanie widoku do programu excel, który zawiera datę (Data = typ danych kolumna).

Co pracował dla nas: Konwertowanie daty na "jednego wiersza tekstu". Następnie, powrotem na randkę.

Że to rozwiązać. Miło było zobaczyć, że konwersja pracował, faktycznie. To był bardzo nerwowy, że konwersja rzeczy w ten sposób zainicjuje pracę awaryjną, ale to nie.

Ten błąd rzucił wielki cień na typ danych Data w umyśle klienta, Tak więc mamy zamiar być poszukiwanie ostatecznej odpowiedzi firmy Microsoft i mam nadzieję, że post i aktualizacji tutaj w następny krótki okres czasu z ich oficjalnej odpowiedzi i poprawce informacje.

Inne referencje:

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

<koniec>

Subskrybowanie mój blog.

Technorati znaczniki: ,

Szybkie i proste: Posyłać poczta elektroniczna rezygnować osadzony hiperłącza z przepływu pracy programu SharePoint Designer

Raz lub dwa razy w miesiącu, ktoś posty forum pytanie: "Jak mogę zawierać hiperłącza do adresu URL, które są klikalne z programu SharePoint Designer e-mail?"

Bez dalszego komentarza: (dobrze, faktycznie ma dalszych uwag po obrazu):

obraz

Becky Isserman nawiązuje z pomocne wyjaśnienia w jaki sposób zamieścić link do pozycji w e-mailu: 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

Nowe wydanie: Rozszerzenia przepływu pracy programu SharePoint Designer (funkcje manipulacji ciąg)

AKTUALIZACJA: Zobacz tutaj dla moich myśli na commercializing tego projektu: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Byłem zajęty pracą na mój projekt witrynie Codeplex, która obecnie koncentruje się na dostarczaniu ciąg manipulacji rozszerzeń obiegów pracy utworzonych za pomocą SharePoint Designer.

Zobacz tutaj:

Projekt domu: http://www.codeplex.com/spdwfextensions

Wydania: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Wersja 1.0 zawiera następujące nowe funkcje:

Funkcja Opis (Czy nie tak samo jak funkcja .net)
NUM wpisy() Zwraca numer pozycji"" w ciąg na określony ogranicznik.

Na przykład: NUM wpisy w ciąg ",b,c" z ogranicznikiem"," = 3.

Wpis() Zwraca n-ty token w ciąg na określony ogranicznik.
Długość String.Length
Zamień() String.Replace()
Zawiera() String.Contains()
Zwraca słowo "prawda" Czy słowo "FAŁSZ".
Podciąg(Start) String.Substring(Start)
Podciąg(Start,długość) String.Substring(Start,długość)
ToUpper() String.ToUpper()
String.tolower() String.ToLower()
StartsWith() String.StartsWith()
Zwraca słowo "prawda" Czy słowo "FAŁSZ".
EndsWith() String.EndsWith()
Zwraca słowo "prawda" Czy słowo "FAŁSZ".

Błąd wykonania usługi BDC wyjaśnił

I spowodował błąd usługi BDC w tym tygodniu, który objawia się w interfejsie użytkownika i w 12 Ula dziennika w czasie wykonywania.

Pierwszy, ten pojawił się w interfejsie użytkownika:

Nie można odnaleźć pól umożliwiających wstawienie wszystkich wartości identyfikatora w celu poprawnego wykonania metody SpecificFinder MethodInstance o nazwie … Upewnij się, że parametry wejściowe mają klasy TypeDescriptor skojarzone ze wszystkimi identyfikatorami zdefiniowanymi dla tej jednostki.

Oto zrzut ekranu:

clip_image001

Może również spowodować, ta wiadomość do stawienia się w 12 Ula dziennika w będzie (przy pomocy mój opatentowany high-tech-don't-try-this-at-home "tajemniczy błędy" Metoda):

11/14/2007 09:24:41.27 W3wp.exe (0x080C) 0x0B8C programu SharePoint Portal Server dane biznesowe 6q4x wysokiej wyjątek w BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Wartość identyfikatora ”, typu ”, jest nieprawidłowy. Oczekiwana wartość Identyfikator typu 'String'. w Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Obiekt[] subIdentifierValues, LOB LOB) w Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Obiekt obiekt, Obiekt[] userValues, LOB LOB) w Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Zobacz desiredView) w Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() w Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Szukałem wokół i znaleźć kilka prowadzi w MSDN forum, ale nie były one wystarczająco dużo dla mnie, aby zrozumieć, co robię źle. Oglądałem webcast przez Ted Pattison że mój firmy ma pokątnie ulokowane na serwerze i zdał sobie sprawę, mój problem.

W moim ADF, Jestem połączony z bazą danych SQL, jak pokazano:

            <Właściwość Nazwa="RdbCommandText" Typ="System.String">
              <![CDATA[
                WYBIERZ IDENTYFIKATOR ZESTAWU, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      KRAJ, ADDRESS1, ADRES2, ADDRESS3, ADDRESS4, MIASTO, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      HRABSTWO, PAŃSTWA, POCZTOWY, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, ROZSZERZENIE, FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG z dbo.PS_CARRIER_ID_VW z (NOLOCK)
                JEŻELI
                  (IDENTYFIKATOR ZESTAWU <> "UDZIAŁ") i
                  (Dolna(CARRIER_ID) >= niższe(@MinId)) i
                  (Dolna(CARRIER_ID) <= niższe(@MaxId)) i
                  (Dolna(DESCR) SIĘ w dolnym(@InputDescr))
                ]]>
            </Właściwość>

Był pod warunkiem że SQL z osoba DBA i jestem dał do zrozumienia, że jest to specjalne Zobacz, które są tworzone tylko dla mnie. Unikatowy klucz jest CARRIER_ID.

Tutaj jest błąd, który przedstawił:

      <Identyfikatory>
        <Identyfikator Nazwa="CARRIER_ID" Atrybut TypeName="System.String" />
        <Identyfikator Nazwa="DESCR" Atrybut TypeName="System.String" /> 
</Identyfikatory>

Gdzieś wzdłuż linii, Gdyby udało się pomylić się nad sensem <Identyfikatory> i dodał DESCR, nawet jeśli nie jest właściwie identyfikator. Wziąłem DESCR zestaw identyfikatorów i presto! To wszystko pracował.

Mam nadzieję, że to ocali komuś trochę smutku 🙂