KB2826162 - Se returnează date diferite atunci când utilizați extensia de date din lista SharePoint pentru un raport în SSRS 2008 R2 sau SSRS 2012

Se aplică la
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup

Simptome

Luați în considerare următorul scenariu:

  • Aveți un raport Microsoft SQL Server Reporting Services 2008 R2 (SSRS 2008 R2) sau Microsoft SQL Server Reporting Services 2012 (SSRS 2012) pentru o listă sau o bibliotecă de documente Microsoft SharePoint.
  • Raportul utilizează o extensie de date Listă SharePoint SQL Server Reporting Services predefinită.
  • Construiți o interogare pentru un set de date care se bazează pe lista sau biblioteca de documente SharePoint, apoi rulați interogarea în proiectantul de rapoarte.
  • Implementați raportul pe ferma SharePoint care găzduiește lista SharePoint sau biblioteca de documente.

În această situație, interogarea set de date returnează un rezultat diferit în proiectantul de rapoarte față de ferma SharePoint.

De exemplu, creați o nouă vizualizare în SharePoint în care selectați opțiunea de vizualizare Afișare totală elemente, fără foldere, într-o bibliotecă de documente. Setați vizualizarea nouă ca vizualizare implicită pentru biblioteca de documente. În această situație, raportul returnează date diferite în ferma SharePoint față de proiectantul de rapoarte.

Notă Dacă implementați raportul pe site-ul SharePoint, sunt returnate doar folderele și fișierele de nivel superior din biblioteca de documente. Cu toate acestea, proiectantul raportului returnează toate fișierele care reflectă modificarea implicită a vizualizării, indiferent de locațiile folderelor.

Cauză

Această problemă apare din cauza căilor de cod diferite care sunt utilizate de SSRS 2008 R2 sau SSRS 2012 atunci când SharePoint rulează raportul în aceeași fermă ca lista. Atunci când ferma SharePoint locală rulează raportul, lista este regăsită utilizând calea SPLocalConnection. Calea citește direct din lista SharePoint, fără apeluri SOAP și creează o copie locală a informațiilor din listă, fără configurația implicită a vizualizării. Prin urmare, calea SPLocalConnection nu reflectă modificările din vizualizarea implicită. 

Cu toate acestea, atunci când proiectantul raportului rulează raportul, raportul utilizează calea SPRemoteConnection. Această cale utilizează apeluri SOAP care se aseamănă cu funcția GetListCollection . Această funcție accesează site-ul printr-o conexiune HTTP la distanță în locul conexiunii locale. Prin urmare, modificările se vor reflecta în configurația implicită a vizualizării.

Soluție

Pentru a evita această problemă, utilizați una dintre metodele următoare:

  • Implementați raportul pe un server de raportare mod nativ, apoi executați raportul de pe serverul de raportare mod nativ. 

    Notă Dacă trebuie să vizualizați raportul în SharePoint, instalați partea web Report Viewer mod nativ în SharePoint, apoi apelați raportul din instanța dvs. nativă Reporting Services.

    Pentru mai multe informații despre cum să vizualizați și să explorați rapoartele mod nativ utilizând părțile web SharePoint, accesați următorul site web MSDN:

    Cum se vizualizează și se explorează rapoartele de mod nativ utilizând părțile web SharePoint

  • Implementați lista sau biblioteca de documente SharePoint la o altă fermă SharePoint care poate fi accesată de ferma în care ați implementat raportul. Prin urmare, raportul din ferma locală poate accesa lista de la distanță.

  • Utilizați o extensie de date XML pentru a construi o interogare XML fără a utiliza extensia de date Listă SharePoint.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.