Symptomy
Rozpatrzmy następujący scenariusz:
-
Masz raport Microsoft SQL Server Reporting Services 2008 R2 (SSRS 2008 R2) lub Microsoft SQL Server Reporting Services 2012 (SSRS 2012) dla listy programu Microsoft SharePoint lub biblioteki dokumentów.
-
W raporcie jest używane wbudowane rozszerzenie danych listy programu SharePoint usług SQL Server Reporting Services.
-
Konstruowanie zapytania zestawu danych opartego na liście programu SharePoint lub w bibliotece dokumentów, a następnie uruchomieniu zapytania w projektancie raportów.
-
Wdrożenie raportu w farmie programu SharePoint zawierającej listę programu SharePoint lub bibliotekę dokumentów.
W takiej sytuacji zapytanie zestawu danych zwraca inny wynik w projektancie raportów niż w farmie programu SharePoint. Możesz na przykład utworzyć nowy widok w programie SharePoint, w którym można wybrać opcję Pokaż wszystkie elementy bez folderów w bibliotece dokumentów. Nowy widok jest ustawiany jako widok domyślny biblioteki dokumentów. W tej sytuacji raport zwraca inne dane w farmie programu SharePoint niż w projektancie raportów.UwagaW przypadku wdrożenia raportu w witrynie programu SharePoint zostaną zwrócone tylko foldery najwyższego poziomu i pliki biblioteki dokumentów. Jednak Projektant raportu zwraca wszystkie pliki, które odzwierciedlają domyślną zmianę widoku, niezależnie od lokalizacji folderów.
Przyczyna
Ten problem występuje z powodu różnych ścieżek kodu, które zostały pobrane przez program 2008 SSRS w wersji R2 lub SSRS 2012, gdy w programie SharePoint jest uruchamiany raport w tej samej farmie, w której znajduje się lista. Gdy lokalna farma programu SharePoint uruchamia raport, lista jest pobierana przy użyciu ścieżki SPLocalConnection . Ścieżka jest odczytywana bezpośrednio z listy programu SharePoint bez połączeń SOAP i tworzy lokalną kopię informacji o liście bez domyślnej konfiguracji widoku. W związku z tym ścieżka SPLocalConnection nie odzwierciedla zmian w widoku domyślnym. Jeśli jednak w projektancie raportów zostanie uruchomiony raport, w raporcie zostanie użyta ścieżka SPRemoteConnection . W tej ścieżce są używane wywołania SOAP podobne do funkcji GetListCollection . Ta funkcja uzyskuje dostęp do witryny za pośrednictwem zdalnego połączenia HTTP zamiast połączenia lokalnego. Dlatego zmiany zostaną odzwierciedlone w domyślnej konfiguracji widoku.
Obejście
Aby obejść ten problem, użyj jednej z następujących metod:
-
Wdróż raport na serwerze raportów w trybie macierzystym, a następnie uruchom go na serwerze raportów trybu macierzystego. Uwaga Jeśli chcesz wyświetlić raport w programie SharePoint, Zainstaluj składnik Web Part podglądu raportów w trybie macierzystym w programie SharePoint, a następnie zadzwoń do raportu z macierzystego wystąpienia usług Reporting Services. Aby uzyskać więcej informacji na temat przeglądania i eksplorowania raportów w trybie macierzystym za pomocą składników Web Part programu SharePoint, przejdź do następującej witryny MSDN w sieci Web:
-
Wdrażanie listy programu SharePoint lub biblioteki dokumentów w innej farmie programu SharePoint, do której można uzyskać dostęp w farmie, do której został wdrożony raport. Dlatego raport w farmie lokalnej może uzyskiwać zdalny dostęp do listy.
-
Tworzenie zapytania XML za pomocą rozszerzenia danych XML bez rozszerzenia danych listy programu SharePoint.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".