Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Este problema aplica-se aos Serviços de Relatórios do Microsoft SQL Server 2012.

Sintomas

Considere o seguinte cenário:

  • Cria uma aplicação Windows Forms ou uma aplicação da Fundação de Apresentação do Windows (WPF) baseada no Microsoft .NET Framework 4.0.

  • Na aplicação Windows Forms ou WPF, utiliza um controlo Do Microsoft Report Viewer 2010 para exibir um relatório microsoft SQL Server 2012 Reporting Services (SSRS 2012) que funciona em modo remoto.

  • O relatório inclui um parâmetro do tipo DateTime que tem um valor predefinido.

  • Executou a aplicação num sistema operativo que tem as configurações regionais definidas para italiano. Além disso, o formato de longa data está definido para "HH:mm:ss".

Neste cenário, poderá experimentar uma das seguintes questões:

  • O valor predefinido do parâmetro do tipo DateTime não é apresentado na área de solicitação do parâmetro.

  • Se atribuir um valor ao parâmetro do tipo DateTime e atualizar o relatório, o valor perde-se após a apresentação do relatório e não é apresentado.

Causa

Esta questão ocorre devido a uma alteração no Quadro .NET 4.0 que impede a aplicação e a SSRS 2012 de utilizar a informação correta com base nas definições regionais do sistema operativo. As aplicações baseadas no Quadro .NET 4.0 utilizam as definições regionais devolvidas pelo Windows. No entanto, o SSRS 2012 é construído no .NET Framework 3.5 Services Pack 1 (SP1). Por conseguinte, o SSRS 2012 utiliza as definições regionais que estão incorporadas no Quadro .NET 3.5 SP1. Quando um servidor SSRS 2012 executa um relatório utilizando o símbolo "." como separador de tempo, o parâmetro do tipo DateTime é enviado de volta para o cliente como uma corda. O controlo do Visualizador de Relatório chama o método DateTimeOffset.TryParse para validar a cadeia utilizando o símbolo ":" como separador de tempo. Portanto, a corda é validada como falsa e não é exibida na área de solicitação do parâmetro.NotaEsta questão só ocorre se o formato de longo tempo estiver definido para "HH:mm:ss", a definição padrão para as definições regionais italianas. A definição predefinitiva para as definições regionais italianas depende do seu sistema operativo. Além disso, pode configurar a definição predefinida do seu sistema operativo alterando o formato de longo tempo.

Resolução

Informação de atualização cumulativa

Atualização cumulativa 2 para SQL Server 2012 Service Pack 1 (SP1)

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 2. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2012 Service Pack 1, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

2790947 Pacote de atualização cumulativo 2 para SQL Server 2012 Service Pack 1Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção do SqL Server 2012 Service Pack 1. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2772858 O SQL Server 2012 constrói que foram lançados após o lançamento do SQL Server 2012 Service Pack 1

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Solução

Para contornar a questão, utilize uma das seguintes soluções alternativas:

  • Defina as definições regionais da aplicação e do sistema operativo para corresponder às definições regionais que se encontram no cliente.

  • Crie um campo de entrada de cordas para que o utilizador se preencha com texto. Então, no relatório, converta a corda numa data.

  • Crie um parâmetro oculto ou sem solicitação que seja povoado do campo de entrada de cordas quando executar o relatório.

  • Crie um parâmetro do tipo DateTimetime não visível e um controlo DateTimePicker fora do controlo do Visualizador de Relatório. Clique em Ver Relatórioe, em seguida, coloque o valor de cadeia no parâmetro do tipo DateTime no manipulador de eventos 'Enviar MapasValues'.

Mais Informações

Microsoft Report Viewer 2010 SP1 Redistributable Package está disponível para download a partir do seguinte website do Microsoft Download Center:

Microsoft Report Viewer 2010 SP1 Redistributable PackagePara saber mais sobre o método DateTimeOffset.TryParseExact e método DateTimeOffset.TryParse, visite os seguintes websites da MSDN:

Método DateTimeOffset.TryParseExact Method (String, String, IFormatProvider, DateTimeStyles, DateTimeOffset%) DateTimeOffset.TryParse Method (String, DateTimeOffset%)

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×