KB2715841 – RJEŠENJE: Report Viewer 2010 ne prikazuje parametar DateTime kada pokrenete izvješće u programu SSRS 2012

Taj se problem odnosi na Microsoft SQL Server 2012 Reporting Services.

Simptomi

Razmotrite sljedeći scenarij:

  • Stvorili ste aplikaciju Windows Forms ili aplikaciju Windows Presentation Foundation (WPF) koja se temelji na platformi Microsoft .NET Framework 4.0.
  • U aplikaciji Windows Forms ili WPF koristite kontrolu Microsoft Report Viewer 2010 da biste prikazali izvješće servisa Microsoft SQL Server 2012 Reporting Services (SSRS 2012) koje se izvodi u udaljenom načinu rada.
  • Izvješće sadrži parametar vrste DateTime koji ima zadanu vrijednost.
  • Aplikaciju pokrećete u operacijskom sustavu koji ima regionalne postavke postavljene na talijanski. Uz to, oblik Dugo vrijeme postavljen je na "HH:mm:ss".

U tom se scenariju može pojaviti jedan od sljedećih problema:

  • Zadana vrijednost parametra vrste DateTime ne prikazuje se u području za unos parametra.
  • Ako parametaru vrste DateTime dodijelite vrijednost i ažurirate izvješće, ona će se izgubiti nakon što se izvješće iscrtava i više se ne prikazuje.

      

Uzrok

Taj se problem pojavljuje zbog promjene u .NET Framework 4.0 koja onemogućuje aplikaciji i SSRS-u 2012 korištenje točnih informacija na temelju regionalnih postavki operacijskog sustava. Aplikacije koje se temelje na .NET Framework 4.0 koriste regionalne postavke koje vraća Windows. No SSRS 2012 temelji se na servisnom paketu .NET Framework 3.5 Services Pack 1 (SP1). Zbog toga SSRS 2012 koristi regionalne postavke koje su ugrađene u .NET Framework 3.5 SP1.

Kada poslužitelj SSRS 2012 pokrene izvješće pomoću simbola "." kao razdjelnika vremena, parametar vrste DateTime šalje se natrag klijentu kao niz. Kontrola preglednika izvješća poziva metodu DateTimeOffset.TryParse da bi provjerila valjanost niza pomoću simbola ":" kao razdjelnika vremena. Stoga se valjanost niza provjerava kao neistinita i ne prikazuje se u području upita za unos parametra.

Napomena Taj se problem pojavljuje samo ako je format Dugo vrijeme postavljen na "HH:mm:ss", što je zadana postavka regionalnih postavki u Italiji. Zadana postavka regionalnih postavki za talijansku ovisi o operacijskom sustavu. Osim toga, možete konfigurirati zadanu postavku operacijskog sustava tako da promijenite format Dugo vrijeme.

Rješenje

Kumulativni podaci o ažuriranju

Kumulativno ažuriranje 2 za SQL Server 2012 Service Pack 1 (SP1)

                
Rješenje tog problema prvi je put izdano u kumulativnom ažuriranju 2. Dodatne informacije o nabavi paketa kumulativnog ažuriranja za SQL Server 2012 Service Pack 1 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2790947 Paket kumulativnog ažuriranja 2 za SQL Server 2012 Service Pack 1Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka servisnog paketa Service Pack 1 za SQL Server 2012. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

2772858 međuverzije SQL Server 2012 koje su izdane nakon izdanja servisnog paketa Service Pack 1 SQL Server 2012

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Zaobilazno rješenje

Da biste zaobišli problem, poslužite se jednim od sljedećih zaobilaznih rješenja:

  • Regionalne postavke aplikacije i operacijskog sustava postavite tako da odgovaraju regionalnim postavkama na klijentu.
  • Stvorite polje za unos niza koje će korisnik popuniti tekstom. Zatim u izvješću niz pretvorite u datum.
  • Stvorite skriveni parametar ili parametar bez upita koji se popunjava iz polja za unos niza kada pokrenete izvješće.
  • Stvorite nevidljivi parametar vrste DateTime i kontrolu DateTimePicker izvan kontrole Report Viewer. Kliknite Prikaz izvješća, a zatim vrijednost niza umetnite u parametar vrste DateTime u rukovatelju događajima SubmittingParameterValues.

      

Dodatne informacije

Paket za slobodnu distribuciju za Microsoft Report Viewer 2010 SP1 dostupan je za preuzimanje sa sljedećeg web-mjesta Microsoftova centra za preuzimanje:

Microsoft Report Viewer 2010 SP1 Redistributable Package Da biste saznali više o metodi DateTimeOffset.TryParseExact i metodi DateTimeOffset.TryParse, posjetite sljedeća MSDN web-mjesta:

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