Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Ten problem dotyczy usług Microsoft SQL Server 2012 Reporting Services.

Symptomy

Rozpatrzmy następujący scenariusz:

  • Tworzysz aplikację Windows Forms lub aplikację Windows Presentation Foundation (WPF) opartą na platformie Microsoft .NET Framework 4,0.

  • W aplikacjach Windows Forms lub WPF za pomocą kontrolki programu Microsoft Report Viewer 2010 można wyświetlić raport usługi Microsoft SQL Server 2012 Reporting Services (SSRS 2012) uruchomiony w trybie zdalnym.

  • Raport zawiera parametr typu DateTime z wartością domyślną.

  • Aplikacja jest uruchamiana w systemie operacyjnym z ustawieniami regionalnymi ustawionymi na wartość włoski. Ponadto w formacie godziny długiej jest ustawiona wartość "gg: mm: SS".

W tym scenariuszu może wystąpić jedna z następujących problemów:

  • Wartość domyślna parametru typu DateTime nie jest wyświetlana w obszarze monitu o podanie parametru.

  • Po przypisaniu wartości do parametru typu DateTime i zaktualizowaniu raportu wartość zostanie utracona po przeprowadzeniu raportu i nie zostanie wyświetlona.

Przyczyna

Ten problem występuje ze względu na zmianę w programie .NET Framework 4,0, która uniemożliwia aplikacji i programowi SSRS 2012 używanie prawidłowych informacji na podstawie ustawień regionalnych systemu operacyjnego. Aplikacje oparte na programie .NET Framework 4,0 używają ustawień regionalnych zwracanych przez system Windows. Program SSRS 2012 jest jednak oparty na dodatku Service Pack 1 (SP1) dla programu .NET Framework 3,5. Z tego powodu program SSRS w 2012 korzysta z ustawień regionalnych osadzonych w programie .NET Framework 3,5 z dodatkiem SP1. Gdy serwer SSRS 2012 uruchamia raport, używając symbolu "." jako separatora czasu, parametr typu DateTime jest odsyłany do klienta jako ciąg. Kontrolka Report Viewer wywołuje metodę DateTimeOffset. TryParse w celu sprawdzenia poprawności ciągu przy użyciu symbolu ":" jako separatora czasu. Dlatego ciąg jest sprawdzany jako FAŁSZ i nie jest wyświetlany w obszarze monitu o podanie parametru.UwagaTen problem występuje tylko wtedy, gdy dla formatu godziny długiej jest ustawiona wartość "gg: mm: SS", ustawienie domyślne dla ustawień regionalnych dla języka włoskiego. Domyślne ustawienie dla włoskich ustawień regionalnych zależy od używanego systemu operacyjnego. Ponadto można skonfigurować ustawienie domyślne systemu operacyjnego, zmieniając format godziny długiej .

Rozwiązanie

Informacje o aktualizacji zbiorczej

Zbiorcza aktualizacja 2 dla programu SQL Server 2012 z dodatkiem Service Pack 1 (SP1)

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

2790947 Pakiet aktualizacji zbiorczej 2 dla programu SQL Server 2012 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki do dodatku Service Pack 1 dla programu SQL Server 2012. 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:

2772858 Kompilacje programu SQL Server 2012 wydane po opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2012

Stan

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

Obejście

Aby obejść ten problem, Skorzystaj z jednego z poniższych obejść:

  • Ustaw ustawienia regionalne aplikacji i systemu operacyjnego, aby były zgodne z ustawieniami regionalnymi znajdującymi się na kliencie.

  • Tworzenie pola tekstowego w postaci ciągu do wypełnienia tekstem. Następnie w raporcie Przekonwertuj ciąg na datę.

  • Tworzenie ukrytego lub niewyświetlanego parametru, który jest wypełniany w polu ciągów wejściowych po uruchomieniu raportu.

  • Utwórz niewidoczny parametr typu DateTime i kontrolkę DateTimePicker poza kontrolką podglądu raportów. Kliknij pozycję Wyświetl raport, a następnie umieść wartość ciągu w parametrze typu DateTime w programie obsługi zdarzeń SubmittingParameterValues .

Więcej informacji

Pakiet redystrybucyjny programu Microsoft Report Viewer 2010 z dodatkiem SP1 jest dostępny do pobrania z następującej witryny Centrum pobierania Microsoft w sieci Web:

Pakiet redystrybucyjny programu Microsoft Report Viewer 2010 z dodatkiem SP1Aby dowiedzieć się więcej na temat metody DateTimeOffset. TryParseExact i metody DateTimeOffset. TryParse , odwiedź następujące witryny MSDN w sieci Web:

DateTimeOffset. TryParseExact, Metoda (String, String, IFormatProvider, DateTimeStyles, DateTimeOffset%) DateTimeOffset. TryParse, Metoda (String, DateTimeOffset%)

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×