Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Este problema se aplica a Microsoft SQL Server 2012 Reporting Services.

Síntomas

Imagine la siguiente situación:

  • Cree una aplicación de Windows Forms o una aplicación de Windows Presentation Foundation (WPF) basada en Microsoft .NET Framework 4,0.

  • En la aplicación de Windows Forms o WPF, se usa un control Visor de informes 2010 para mostrar un informe de Microsoft SQL Server 2012 Reporting Services (SSRS 2012) que se ejecuta en modo remoto.

  • El informe incluye un parámetro de tipo DateTime que tiene un valor predeterminado.

  • La aplicación se ejecuta en un sistema operativo que tiene la configuración regional establecida en Italiano. Además, el formato de hora larga se establece en "HH: mm: SS".

En este escenario, puede experimentar uno de los siguientes problemas:

  • El valor predeterminado del parámetro de tipo DateTime no se muestra en el área de mensaje de parámetros.

  • Si asigna un valor al parámetro de tipo DateTime y actualiza el informe, el valor se pierde después de que se represente el informe y no se muestra.

Causa

Este problema se produce debido a un cambio en .NET Framework 4,0 que impide que la aplicación y SSRS 2012 usen la información correcta basándose en la configuración regional del sistema operativo. Las aplicaciones que se basan en .NET Framework 4,0 usan una configuración regional que es devuelto por Windows. Sin embargo, SSRS 2012 se ha creado en .NET Framework 3,5 Service Pack 1 (SP1). Por tanto, SSRS 2012 usa la configuración regional que está integrada en .NET Framework 3,5 SP1. Cuando un servidor de SSRS 2012 ejecuta un informe mediante el símbolo "." como separador de hora, el parámetro de tipo DateTime se devuelve al cliente como una cadena. El control de visor de informes llama al método DateTimeOffset. TryParse para validar la cadena con el símbolo ":" como separador de hora. Por lo tanto, la cadena se valida como falsa y no se muestra en el área de mensaje de parámetros.Nota: Este problema solo se produce si el formato de hora larga se establece en "HH: mm: SS", la configuración predeterminada para la configuración regional de italiano. La configuración predeterminada para la configuración regional de italiano depende del sistema operativo. Además, puede configurar la configuración predeterminada del sistema operativo cambiando el formato de hora larga .

Resolución

Información sobre la actualización acumulativa

Actualización acumulativa 2 para SQL Server 2012 Service Pack 1 (SP1)

La corrección para este problema se publicó por primera vez en la actualización acumulativa 2. Para obtener más información sobre cómo obtener este paquete de actualización acumulativa para SQL Server 2012 Service Pack 1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2790947 Paquete de actualización acumulativa 2 para SQL Server 2012 Service Pack 1Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2012 Service Pack 1. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2772858 Las compilaciones de SQL Server 2012 que se lanzaron después de publicar SQL Server 2012 Service Pack 1

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

Solución alternativa

Para solucionar el problema, use una de las soluciones alternativas siguientes:

  • Establezca la configuración regional en la aplicación y el sistema operativo para que coincidan con la configuración regional que se encuentra en el cliente.

  • Crear un campo de entrada de cadena para que el usuario se rellene con texto. A continuación, en el informe, convierta la cadena en una fecha.

  • Cree un parámetro oculto o no de petición de datos que se rellene a partir del campo de entrada de cadenas cuando ejecute el informe.

  • Cree un parámetro de tipo DateTime no visible y un control DateTimePicker fuera del control Visor de informes. Haga clic en Ver informey, a continuación, inserte el valor de cadena en el parámetro de tipo DateTime en el controlador de eventos SubmittingParameterValues .

Más información

El paquete redistribuible del visor de informes de Microsoft 2010 SP1 está disponible para descargarlo del siguiente sitio web del centro de descarga de Microsoft:

Paquete redistribuible de Microsoft Report Viewer 2010 SP1Para obtener más información sobre el método DateTimeOffset. TryParseExact y el método DateTimeOffset. TryParse , visite los siguientes sitios web de MSDN:

DateTimeOffset. TryParseExact (método) (String, String, IFormatProvider, DateTimeStyles, DateTimeOffset%) DateTimeOffset. TryParse (cadena, DateTimeOffset%)

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×