Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Questo problema si applica a Microsoft SQL Server 2012 Reporting Services.

Sintomi

Considerare lo scenario descritto di seguito:

  • Si crea un'applicazione Windows Form o un'applicazione Windows Presentation Foundation (WPF) basata su Microsoft .NET Framework 4,0.

  • Nell'applicazione Windows Forms o WPF si usa un controllo Microsoft Report Viewer 2010 per visualizzare un report di Microsoft SQL Server 2012 Reporting Services (SSRS 2012) che viene eseguito in modalità remota.

  • Il report include un parametro di tipo DateTime con un valore predefinito.

  • L'applicazione viene eseguita in un sistema operativo in cui le impostazioni internazionali sono impostate su italiano. Inoltre, il formato di ora estesa è impostato su "HH: mm: SS".

In questo scenario, è possibile che si verifichi uno dei problemi seguenti:

  • Il valore predefinito del parametro di tipo DateTime non viene visualizzato nell'area del prompt dei parametri.

  • Se si assegna un valore al parametro di tipo DateTime e si aggiorna il report, il valore viene perso dopo il rendering del report e non viene visualizzato.

Causa

Questo problema si verifica a causa di una modifica apportata a .NET Framework 4,0 che impedisce all'applicazione e a SSRS 2012 di usare le informazioni corrette in base alle impostazioni internazionali del sistema operativo. Le applicazioni basate su .NET Framework 4,0 usano le impostazioni internazionali restituite da Windows. Tuttavia, SSRS 2012 è basato su .NET Framework 3,5 Services Pack 1 (SP1). Di conseguenza, SSRS 2012 USA le impostazioni internazionali incorporate in .NET Framework 3,5 SP1. Quando un server di 2012 SSRS esegue un report usando il simbolo "." come separatore temporale, il parametro di tipo DateTime viene restituito al client come stringa. Il controllo Visualizzatore report chiama il metodo DateTimeOffset. TryParse per convalidare la stringa usando il simbolo ":" come separatore temporale. Di conseguenza, la stringa viene convalidata come falsa e non viene visualizzata nell'area del prompt dei parametri.Nota Questo problema si verifica solo se il formato di tempo lungo è impostato su "HH: mm: SS", ovvero l'impostazione predefinita per le impostazioni internazionali italiane. L'impostazione predefinita per le impostazioni internazionali italiane dipende dal sistema operativo in uso. È inoltre possibile configurare l'impostazione predefinita del sistema operativo modificando il formato di ora estesa .

Risoluzione

Informazioni sull'aggiornamento cumulativo

Aggiornamento cumulativo 2 per SQL Server 2012 Service Pack 1 (SP1)

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 2. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2012 Service Pack 1, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

2790947 Pacchetto di aggiornamento cumulativo 2 per SQL Server 2012 Service Pack 1Nota Poiché le compilazioni sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2012 Service Pack 1 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:

2772858 Build di SQL Server 2012 rilasciate dopo il rilascio di SQL Server 2012 Service Pack 1

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Soluzione alternativa

Per risolvere il problema, usare una delle soluzioni alternative seguenti:

  • Imposta le impostazioni internazionali sull'applicazione e il sistema operativo in base alle impostazioni internazionali che si trovano nel client.

  • Creare un campo di input stringa per l'utente da popolare con il testo. Quindi, nel report, Converti la stringa in una data.

  • Creare un parametro nascosto o senza prompt che viene popolato dal campo di input della stringa quando si esegue il report.

  • Creare un parametro di tipo DateTime non visibile e un controllo DateTimePicker all'esterno del controllo Visualizzatore report. Fare clic su Visualizza reporte quindi inserire il valore stringa nel parametro di tipo DateTime nel gestore dell'evento l'SubmittingParameterValues .

Ulteriori informazioni

Microsoft Report Viewer 2010 SP1 Redistributable Package è disponibile per il download dal sito Web Microsoft Download Center seguente:

Pacchetto ridistribuibile di Microsoft Report Viewer 2010 SP1Per saperne di più sul metodo DateTimeOffset . TryParseExact e sul metodo DateTimeOffset. TryParse , visitare i siti Web MSDN seguenti:

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

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×