KB2359606-FIX: "System. OverflowException: wartość jest za duża lub za mała dla argumentu Int32" podczas próby wygenerowania raportu w usłudze Microsoft SQL Server 2008 R2 Reporting Services jest wyświetlany komunikat o błędzie

Firma Microsoft rozpowszechnia poprawki programu Microsoft SQL Server 2008 R2 jako jednego pliku do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2008 R2.

Symptomy

Rozpatrzmy następujący scenariusz:

  • Masz plik RDL (Report Definition Language), który zawiera kontrolkę elementu tablix w usługach Reporting Services programu Microsoft SQL Server 2008 R2.

  • Dodaj grupę wierszy lub grupę kolumn do kontrolki elementu tablix , a następnie ustaw wyrażenie grupy z danymi grupy przy użyciu kolumny zawierającej typ danych liczbowy.

  • Ta kolumna zawiera wartość, która nie należy do zakresu typu danych Int32 . Na przykład wartość kolumny to 9000001777400270.

W tym scenariuszu podczas próby wygenerowania raportu jest wyświetlany następujący komunikat o błędzie:

Wystąpił błąd podczas lokalnego przetwarzania raportów. Wystąpił błąd podczas przetwarzania raportu. Wartość jest za duża lub za mała dla argumentu Int32.

Rozwiązanie

Informacje o aktualizacji zbiorczej

SQL Server 2008 R2

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 4. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2345451 Pakiet aktualizacji zbiorczej 4 dla programu SQL Server 2008 R2 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

981356 Kompilacje programu SQL Server 2008 R2, które zostały wydane po opublikowaniu programu SQL Server 2008 R2

Obejście

Aby obejść ten problem, przekonwertuj typ danych liczbowych na typ danych podwójny lub na typ danych Int64 . W tym celu wykonaj następujące czynności:

  1. Kliknij dwukrotnie grupę w okienku grupy wierszy lub grupy kolumn , aby otworzyć właściwości grupy .

  2. Na karcie Ogólne zmień wyrażenie grupy na następujące wyrażenie System. Double typu danych:

    CDbl (pola!<nazwa pola>. WartośćMożna też zmienić wyrażenie grupy na następujący typ danych System. Int64 :

    CLng (pola!<nazwa pola>. Wartość

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Informacje

Aby uzyskać więcej informacji na temat typów danych, odwiedź następujące witryny sieci Web:

Ogólne informacje o strukturze "dziesiętnej"

Ogólne informacje o strukturze "Int32"

Ogólne informacje o strukturze "Int64"

Ogólne informacje na temat struktury "Double"

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×