Симптоми
Имайте предвид сценария, описан по-долу:
- Имате отчет на Услуги за отчет на Microsoft SQL Server 2008 R2 (SSRS 2008 R2) или Услуги за отчет на Microsoft SQL Server 2012 (SSRS 2012) за списък или библиотека с документи на Microsoft SharePoint.
- Отчетът използва вградено разширение за данни на списък на SharePoint от Услуги за отчет на SQL Server.
- Можете да създадете заявка за набор от данни, която се базира на списъка или библиотеката с документи на SharePoint, и след това да изпълните заявката в конструктора на отчети.
- Разполагате отчета в сървърната група на SharePoint, която хоства списъка или библиотеката с документи на SharePoint.
В тази ситуация заявката за набор от данни връща различен резултат в конструктора на отчети отколкото в сървърната група на SharePoint.
Например създавате нов изглед в SharePoint, в който избирате опцията за показване на всички елементи без папки в библиотека с документи. Задавате новия изглед като изглед по подразбиране за библиотеката с документи. В тази ситуация отчетът връща други данни в сървърната група на SharePoint от тези в конструктора на отчети.
Забележка: Ако разположите отчета в сайта на SharePoint, се връщат само папките и файловете от най-горно ниво на библиотеката с документи. Обаче дизайнерът на отчети връща всички файлове, които отразяват промяната на изгледа по подразбиране, независимо от местоположенията на папките.
Причина
Този проблем възниква поради различни пътища на код, които се приемат от SSRS 2008 R2 или SSRS 2012, когато SharePoint изпълнява отчета в същата сървърна група като списъка. Когато локалната сървърна група на SharePoint изпълнява отчета, списъкът се извлича с помощта на пътя на SPLocalConnection. Пътят чете директно от списъка на SharePoint без извиквания на SOAP и създава локално копие на информацията от списъка без конфигурацията на изгледа по подразбиране. Следователно пътят на SPLocalConnection не отразява промените в изгледа по подразбиране.
Когато обаче дизайнерът на отчети изпълнява отчета, отчетът използва пътя на SPRemoteConnection. Този път използва SOAP повиквания, които приличат на функцията GetListCollection . Тази функция осъществява достъп до сайта чрез отдалечена HTTP връзка вместо през локална връзка. Следователно промените ще се отразят в конфигурацията на изгледа по подразбиране.
Заобиколно решение
За да решите проблема по заобиколен начин, използвайте един от следните методи:
Разположете отчета на сървъра за отчети в основен режим и след това го изпълнете от сървъра за отчети в основния режим.
Забележка: Ако трябва да преглеждате отчета в SharePoint, инсталирайте уеб частта на визуализатора на отчети в основен режим в SharePoint и след това извикайте отчета от вашия основен екземпляр на услугите за отчет.
За повече информация как да преглеждате и проучвате отчети за основен режим с помощта на уеб части на SharePoint, отидете на следния уеб сайт на MSDN:
Как да преглеждате и преглеждате отчети в основен режим с помощта на уеб части на SharePoint
Разполагане на списъка или библиотеката с документи на SharePoint в друга сървърна група на SharePoint, която ще бъде достъпна от сървърната група, в която е разположен отчетът. Затова отчетът в локалната сървърна група има отдалечен достъп до списъка.
Използвайте разширение на XML данни, за да създадете XML заявка, без да използвате разширението за данни на списък на SharePoint.
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.