KB2878807 — POPRAWKA: System.NullReferenceException jest zgłaszany, gdy raport lub subskrypcja usług SSRS 2008 R2 lub SSRS 2012 jest otwierana w trybie zintegrowanym programu SharePoint

Dotyczy
SQL Server 2008 R2 Service Pack 2 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

Ta poprawka ma również zastosowanie do usług Microsoft SQL Server 2012 Reporting Services.

Objawy

Rozważmy następujący scenariusz:

  • Uruchomiono wystąpienie usługi Microsoft SQL Server 2008 R2 Reporting Service (SSRS 2008 R2) lub SQL Server 2012 Reporting Service (SSRS 2012) w trybie zintegrowanym programu Microsoft SharePoint.
  • Masz raport lub subskrypcję utworzoną przez użytkownika, który nie ma już uprawnień do zbioru witryn programu SharePoint.
  • Użytkownik mający odpowiednie uprawnienia w zbiorze witryn programu SharePoint próbuje otworzyć raport lub subskrypcję.

W takim przypadku użytkownik nie może otworzyć raportu lub subskrypcji. Ponadto użytkownik otrzymuje następujący komunikat o błędzie:

Uwaga

Serwer raportów napotkał błąd programu SharePoint. (rsSharePointError)
Odwołanie do obiektu nie jest ustawione na wystąpienie obiektu.

Ponadto w pliku dziennika serwera raportów jest rejestrowany następujący wyjątek:

Uwaga

Microsoft.ReportingServices.Diagnostics.Utilities.SharePointException: serwer raportów napotkał błąd programu SharePoint. >--- System.NullReferenceException: odwołanie do obiektu nie jest ustawione na wystąpienie obiektu.
w Microsoft.ReportingServices.SharePoint.Objects.RSSPImpUser.get_LoginName()
at Microsoft.ReportingServices.SharePoint.Utilities.CatalogItemUtilities.GetListItemUserLoginName(RSSPListItem item, String fieldName)
w Microsoft.ReportingServices.SharePoint.Utilities.CatalogItemUtilities.CreateCatalogItem(RSSPFolder folder)
at Microsoft.ReportingServices.SharePoint.Server.SharePointDBInterface.GetParentsForFolderOrFileRecursive(RSSPWeb web, RSSPFolder folder, RSSPDocumentLibrary docLib, Security secMgr, CatalogItemList parents)
at Microsoft.ReportingServices.SharePoint.Server.SharePointDBInterface.GetParentsForFolderOrFileRecursive(RSSPWeb web, RSSPFolder folder, RSSPDocumentLibrary docLib, Security secMgr, CatalogItemList parents)
at Microsoft.ReportingServices.SharePoint.Server.SharePointDBInterface.FindParents(ExternalItemPath objectName, CatalogItemList& parents, Security secMgr, IPathTranslator pathTranslator)

Rozwiązanie

Ten problem został po raz pierwszy rozwiązany w następującej aktualizacji zbiorczej programu SQL Server.

Aktualizacja zbiorcza 8 dla programu SQL Server 2012 z dodatkiem SP1 /en-us/help/2917531

Aktualizacja zbiorcza 11 dla programu SQL Server 2012 /en-us/help/2908007

Aktualizacja zbiorcza 9 dla programu SQL Server 2008 R2 z dodatkiem SP2 /en-us/help/2887606

Informacje o aktualizacjach zbiorczych dla programu SQL Server

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:

      

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.