Kategoria: Archiwum: BDC

Drobna porada: Numery wersji BDC ADF są Twoim przyjacielem

Jeśli masz strony kodowanie ADF plików i robi sporo kodu, przywóz/badanie cykli, używać ten wersja liczba wobec zrobić twój życie łatwiejszy.

I hate o przyjęciu, ale aż do tego tygodnia, Zawsze było usunięcie automatycznego podajnika dokumentów i ponowne importowanie to. To złamać moje kolumny danych biznesowych i mnie ponownie je drutu. Wszystkie zbędne.

Plik ten w "to oczywiste, gdy widzisz, że".

Przykład:

<LobSystem
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Typ="Usługi WebService" Wersja="1.2.0.0" Nazwa="xyzzyDocumentReview" xmlns="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Zmiany w tej wersji i ponownie zaimportować i istniejącej kolumna danych biznesowych używa zaktualizowaną wersję automatycznie z żadna dodatkowa konfiguracja wymagane.

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki:

Roztwór: BDC próbnik pokazuje tylko jedną kolumnę wyników

W moich prób w toku świadczenia bardziej przydatne kolumny odnośnika za pomocą usługi łączności danych biznesowych, Uderzył w ścianę z próbnika BDC. Jeśli nie masz go zobaczyć, próbnika BDC jest podobny do wyboru osób, z wyjątkiem, że działa z kolumn typu "danych biznesowych".

Możesz uzyskać dostęp do próbnika klikając na ikonę otwarta Księga kolumna danych biznesowych, jak pokazano:

obraz

Powyższy obraz pokazuje biznes dane kolumna o nazwie "Główny identyfikator dokumentu". To kolumna jest podłączony, za pośrednictwem usługi łączności danych biznesowych, do usługi sieci web. Usługa sieci web zwraca dwie kolumny informacji: Identyfikator dokumentu i tytuł. Tutaj celem firmy jest zapewnienie "Niniejszy dokument opiera się na" Funkcja. Użytkownicy wybierają mistrza"" dokument i kiedy one zaoszczędzić, odbiornik przypadku kopiuje meta danych pól odwołanie mistrza.

Domyślnie, próbnika BDC wygląda to podczas wyszukiwania dokumentu którego ID = "38":

clip_image002

To jest pomocne, ale nie wystarczająco dobry. Ludzie nie myśleć w kategoriach identyfikatory, ich zdaniem pod względem tytułów i/lub innych danych meta. Próbnika umożliwia wyszukiwanie na innych kolumnach (np.. Tytuł) ale nie pokazuje rzeczywiste listę tytułów, które okazało się, tylko ich DocId, jak pokazano poniżej:

clip_image002[1]

(Zrzut ekranu nie jest tak wielki, ponieważ nie mogę wybrać zwraca prawidłowe wyniki wyszukiwania, ale widać że jeśli znalazł jakieś wyniki, to tylko pokazuje DocId w, nie tytuły).

Szukałem wysokie i niskie dla odpowiedzi na to i nie powiodło się. Mój kolega, czcigodny Jonathan Bradshaw, miałem do czynienia i rozwiązać ten problem. Kiedy dotarłem do niego o pomoc, wskazał mi w dobrym kierunku.

Konfigurowanie próbnika aby pokazać wiele kolumn za pomocą "ShowInPicker" Właściwość w automatycznym podajniku dokumentów:

<Właściwość Nazwa="ShowInPicker" Typ="Typu System.Boolean">PRAWDA</Właściwość>

Bardziej szczegółowo:

  <!-- Tytuł -->
  <TypeDescriptor Atrybut TypeName="System.String" Nazwa="Tytuł" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName IDENTYFIKATOR LCID="1033">Tytuł</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Właściwości>
      <Właściwość Nazwa="DisplayByDefault" Typ="Typu System.Boolean">PRAWDA</Właściwość>
      <Właściwość Nazwa="ShowInPicker" Typ="Typu System.Boolean">PRAWDA</Właściwość>
    </Właściwości>
  </TypeDescriptor>

Ustawienie tej właściwość wprowadzić drobne problem. Tak szybko, jak możesz ustawić go po raz, należy zestaw dla każdej kolumna, którą chcesz pokazać. W moim przypadku, Próbnik BDC pokazał DocId domyślnie. Jednakże, kiedyś dodałem "ShowInPicker" Tytuł, DocId już wyświetlane. Rozwiązałem to jawnie ustawiając właściwość ShowInPicker Doc ID.

Tutaj jest wynikiem:

obraz

(Postaram się wyjaśnić pasujących 168" – CamlSchema.xsd" budowlanych w przyszłości blogu. W skrócie, to jest uzyskiwanej ciąg, który pozwala na nieco lepsze doświadczenie użytkownika).

Oczywiście, o napisane ten wpis w blogu, Ja po prostu nie Szukaj "ShowInPicker" i znaleźć wiele hitów, w tym ten jeden: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Wyjaśnia znaczenie tej nieruchomości oraz niektóre inne dobre rzeczy BDC.

</koniec>

Subskrybowanie mój blog!

Technorati znaczniki:

Roztwór do niepowodzenia BDC automatyczny podajnik dokumentów: “Wystąpił następujący błąd:”

I został ponownie dopracować BDC ADF pliki ręcznie (tak, że można budować my "Get off my lawn!" CRED) i hit ten błąd lovely:

obraz

"Stosowania definicji importowanie nie powiodło się. Wystąpił następujący błąd:"

Jak widać, występuje błąd, ale … nie będzie to tell me what it is.

W moim przypadku, problemem okazało się, że gdyby zaczął się z funkcjonalnych ADF na inny projekt, który podłączony do bazy danych i wykonać kwerendy SQL przeciwko widok. W ten nowy projekt, Jestem wywołanie metody usługi sieci web. Miał wycięte DB konkretnych rzeczy i dodał moje rzeczy usługi sieci web, ale nie powiodła się aktualizacja <LobSystem>w typ atrybutu. Przeszedłem ją do "WebService" i I szczęśliwie przeniesiona Błędy importu nowsze i bardziej ekscytujących, które zostały poddane obróbce w odpowiednim czasie.

Tutaj jest niewłaściwy LobSystem:

<LobSystem
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:element schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Typ = "bazy danych"
Wersja = "1.0.0.0" Nazwa = "xyzzy"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Jest to poprawne:

<LobSystem
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:element schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Typ = "WebService"
Wersja = "1.0.0.0" Nazwa = "xyzzy"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

</koniec>

Technorati znaczniki:

BDC wydaje się zastąpienie zdolnych do życia dla wyszukiwania

AKTUALIZACJA: To księgowanie MSDN ma pewne interesujące uwagi z JXJ na jego podstawie, głównie ujemne, doświadczeń going down tej ścieżki: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Mamy do scenariusza biznesowego, których musimy połączyć dwie biblioteki dokumentów za pośrednictwem wspólnego "identyfikator dokumentu" pole.

Często używamy kolumna odnośnika do implementuje linki jak to. Istnieje kilka wad do kolumny odnośnika, trzy są:

  1. Tylko jedna kolumna z biblioteki wyszukiwania wyszukiwania mogą być połączone.
  2. Wydajność: Biblioteka źródeł może zawierać setki wpisów. Że jest zbyt wiele wpisów w wyszukiwania.
  3. Wyszukiwanie: Tam jest nie zintegrowane wyszukiwanie. Nie znaczy w sensie MOSS Szukaj, ale nie jest sposobem wyszukiwania / filtrować według wielu kolumn z biblioteki dokumentów źródłowych i zlokalizuj łącze, które chcesz.

Poparte BDC, możemy użyć danych biznesowych"" kolumna typu i zapewnia lepsze wyszukiwanie i nawet pozwala wielu kolumn danych są wyświetlane w widokach list.

I had pewne wstępne sukcesy z tym podejściem i planuje się o nim więcej zapisu.

Jeśli Pracowaliśmy długo i kąt ten przed i uwagi, Prosimy podzielcie!

</koniec>

Technorati znaczniki:

Roztwór do Błąd importowania BDC: “Nie można załadować typu opisane przez TypeDescriptor przez funkcję TypeName …”

I been working z zapasowym kontrolerze domeny dzisiaj, Kodowanie plików ADF ręcznie i generowania sobie jakieś błędy. Jeden taki błąd:

Importowanie definicji aplikacji nie powiodło się. Wystąpił następujący błąd: Nie można załadować typu opisane przez TypeDescriptor przez funkcję TypeName. Nazwa parametru: typeName błąd wystąpił w lub po prostu przed wierszem: "35’ oraz stanowisko: "20".

MOSS wyświetlany ten błąd, gdy próbuję zaimportować plik ADF XML.

Badane Internets i stwierdzono, że został odwołania nazwę instancji obiektu LOB (z <LobSystemInstance>) w moim <TypeDescriptor> węzeł po I powinny mieć określany sama nazwa obiektu LOB (z <LobSystem>).

Niewłaściwy:

<TypeDescriptor TypeName="Conchango.KeyValue, Nazwa instancji obiektu LOB" Nazwa = "KeyValue">

Poprawić:

<TypeDescriptor TypeName="Conchango.KeyValue, Nazwa obiektu LOB" Nazwa = "KeyValue">

Mam nadzieję, że ten jeden zapisuje kogoś o godzinę lub dwóch czasu.

</koniec>

Subskrybowanie mój blog!

Technorati znaczniki:

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 🙂

BDC ADF i twój przyjaciel, CDATA

Zauważyłem pewne niewygodne i niepotrzebne strony kodowanie RdbCommandText w niektórych przykładach (tym dokumentacji MSDN).

Chciałem zwrócić uwagę na nowo przybyłych do BDC, że polecenia można zawinąć wewnątrz znacznika CDATA w ich naturalnym"" formularz. Tak, tej nietypowej konstrukcji:

<Właściwość Nazwa="RdbCommandText" Typ="System.String">
Wybierz dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement z dbo.MCRS_SETTLEMENT
JEŻELI (Identyfikator &gt;= @MinId) I (Identyfikator &lt;= @MaxId)
</Właściwość>

może lepiej być reprezentowany w ten sposób:

<Właściwość Nazwa="RdbCommandText" Typ="System.String">
<![CDATA[
Wybierz dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement z dbo.MCRS_SETTLEMENT
JEŻELI (Identyfikator >= @MinId) I (Identyfikator <= @MaxId)
]]>
</Właściwość>

</koniec>

Podkład BDC

Wprowadzenie do usługi łączności danych biznesowych

Przykład funkcjonalne: ADF BDC, który łączy się z bazy danych SQL z osadzonych użytkownika identyfikator i hasło

Potrzebne do drutu się mech do bazy danych SQL za pomocą usługi BDC. Do celów badania PKOL, Chciałem umieścić SQL konta identyfikator użytkownika i hasło w automatycznym podajniku dokumentów. Począwszy od Ten szablon (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), I stworzył ADF, który łączy się z konkretnego wystąpienie serwera SQL i loguje się za pomocą określonego identyfikatora użytkownika i hasła i się w tym fragmencie:

  <Wystąpieniami>
    <LobSystemInstance Nazwa="ClaimsInstance">
      <Właściwości>
        <Właściwość Nazwa="AuthenticationMode" Typ="System.String">Przekazywanie</Właściwość>
        <Właściwość Nazwa="DatabaseAccessProvider" Typ="System.String">SqlServer</Właściwość>
        <Właściwość Nazwa="Źródło danych RdbConnection" Typ="System.String">serveractual rzeczywiste wystąpienie</Właściwość>
        <Właściwość Nazwa="Katalog RdbConnection wstępne" Typ="System.String">rzeczywisty katalog początkowy</Właściwość>
        <Właściwość Nazwa="RdbConnection zintegrowanych zabezpieczeń" Typ="System.String">SSPI</Właściwość>
        <Właściwość Nazwa="Łączenie RdbConnection" Typ="System.String">FAŁSZ</Właściwość>

        <!-- Są to wartości klucz: -->
        <Właściwość Nazwa="Nazwa użytkownika RdbConnection" Typ="System.String">aRzeczywiste ID użytkownika</Właściwość>
        <Właściwość Nazwa="Hasło RdbConnection" Typ="System.String">rzeczywisty hasło</Właściwość>
        <Właściwość Nazwa="RdbConnection Trusted_Connection" Typ="System.String">FAŁSZ</Właściwość>

      </Właściwości>
    </LobSystemInstance>
  </Wystąpieniami>

To nie jest najlepszym rozwiązaniem, ale jest on przydatny dla szybka i prosta konfiguracja do testowania. To był zaskakująco trudny wobec obliczaæ na zewn¹trz. Nigdy nie znaleziono funkcjonalne przykład z słów kluczowych:

  • ADF osadzony login i hasło
  • umieścić identyfikator użytkownika i hasło w adf
  • umieścić identyfikator użytkownika i hasło w adf bdc
  • SharePoint usługi bdc podkład
  • SharePoint umieścić identyfikator użytkownika i hasło w adf

</koniec>

Subskrybowanie mój blog.