Firma Microsoft dystrybuuje poprawki dla programu Microsoft SQL Server 2008 R2 lub Microsoft SQL Server 2012 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każda nowa wersja zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej wersji poprawki programu SQL Server 2008 R2 lub SQL Server 2012.
Objawy
Rozważmy następujący scenariusz:
- Masz raport usług Microsoft SQL Server 2008 R2 Reporting Services (SSRS 2008 R2) lub Microsoft SQL Server 2012 Reporting Services (SSRS 2012).
- Metoda ReportExecutionService.Render służy do renderowania raportu w formacie obrazu lub w formacie EMF (enhanced metafile).
- Tworzysz rozszerzenie dostarczenia raportu.
W tym scenariuszu wszystkie strony raportu z wyjątkiem pierwszej strony są dostarczane niepoprawnie.
Uwaga Ten problem nie występuje w usługach Microsoft SQL Server 2005 Reporting Services (SSRS 2005) ani Microsoft SQL Server 2008 Reporting Services (SSRS 2008).
Przyczyna
Ten problem występuje, ponieważ zmieniono funkcję w metodzie ReportExecutionService.Render w SSRS 2008 R2. Ta metoda zwraca tylko pustą tablicę w identyfikatorach strumieni. W związku z tym nie można go używać do renderowania stron raportu z wyjątkiem pierwszej strony.
Rozwiązanie
Informacje o aktualizacji zbiorczej
SQL Server 2008 R2 z dodatkiem Service Pack 2
Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 1 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2720425 Pakiet aktualizacji zbiorczej 1 dla dodatku Service Pack 2 SQL Server 2008 R2Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2730301 Kompilacje SQL Server 2008 R2 wydane po wydaniu dodatku Service Pack 2 SQL Server 2008 R2
SQL Server 2008 R2 z dodatkiem Service Pack 1
Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 6 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2679367 Pakiet 6 aktualizacji zbiorczych dla SQL Server 2008 R2 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2567616 Kompilacje SQL Server 2008 R2 wydane po wydaniu dodatku Service Pack 1 SQL Server 2008 R2
SQL Server 2012
Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 1 dla programu SQL Server 2012. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2679368 Pakiet aktualizacji zbiorczej 1 dla SQL Server 2012Uwaga Ponieważ kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2012. Firma Microsoft zaleca rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2692828 Kompilacje SQL Server 2012 wydane po wydaniu SQL Server 2012 Poprawkę SQL Server 2012 należy zastosować do instalacji programu SQL Server 2012.
Pakiet aktualizacji zbiorczej 12 dla programu SQL Server 2008 R2
Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 12. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2659692 Pakiet aktualizacji zbiorczej 12 dla systemu SQL Server 2008 R2Uwaga Ponieważ kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
981356 Kompilacje SQL Server 2008 R2 wydane po wydaniu SQL Server 2008 R2
Obejście
Aby obejść ten problem, renderuj każdą stronę, określając wartość StartPage w ciągu DeviceInfo.
Uwaga: to obejście może zmniejszyć wydajność.
Więcej informacji
Aby uzyskać więcej informacji na temat metody ReportExecutionService.Render, odwiedź następującą witrynę MSDN w sieci Web:
Ogólne informacje o metodzie ReportExecutionService.Render
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.