この問題は、Microsoft SQL Server 2012 Reporting Services に適用されます。

現象

次のような状況で問題が発生します。

  • Microsoft .NET Framework 4.0 に基づく Windows フォームアプリケーションまたは Windows Presentation Foundation (WPF) アプリケーションを作成します。

  • Windows フォームまたは WPF アプリケーションでは、Microsoft Report Viewer 2010 コントロールを使って、リモートモードで実行される Microsoft SQL Server 2012 Reporting Services (SSRS 2012) レポートを表示します。

  • レポートには、既定値を持つDateTime 型パラメーターが含まれています。

  • このアプリケーションは、地域設定がイタリア語に設定されているオペレーティングシステムで実行します。 さらに、長い時刻 の形式は "HH: mm: ss" に設定されます。

このシナリオでは、次のいずれかの問題が発生する可能性があります。

  • DateTime型パラメーターの既定値は、パラメータープロンプト領域に表示されません。

  • DateTime型パラメーターに値を割り当て、レポートを更新した場合、レポートが表示されず、表示されないと、値は失われます。

原因

この問題が発生するのは、.NET Framework 4.0 で、オペレーティングシステムの地域設定に基づいて、アプリケーションと SSRS 2012 が適切な情報を使用できないようにしているためです。 .NET Framework 4.0 に基づくアプリケーションは、Windows によって返される地域設定を使用します。 ただし、SSRS 2012 は .NET Framework 3.5 Service Pack 1 (SP1) に組み込まれています。 したがって、SSRS 2012 は、.NET Framework 3.5 SP1 に埋め込まれている地域設定を使います。SSRS 2012 サーバーが、時刻の区切り文字として "." 記号を使ってレポートを実行すると、 DateTime 型パラメーターが文字列としてクライアントに返送されます。 レポートビューアーコントロールは、":" 記号を時刻の区切り記号として使用して、文字列を検証するための DateTimeOffset メソッドを呼び出します。 そのため、文字列は false として検証され、パラメータープロンプト領域に表示されません。注:この問題は、[ 時刻 (l) ] の設定が "HH: mm: ss" に設定されている場合にのみ発生します。これは、イタリアの地域設定の既定の設定です。 イタリアの地域設定の既定の設定は、使用しているオペレーティングシステムによって異なります。 さらに、長い時刻 表示形式を変更することによって、オペレーティングシステムの既定の設定を構成することができます。

解決方法

累積的な更新プログラムの情報

SQL Server 2012 Service Pack 1 (SP1) の累積更新プログラム2

この問題の修正プログラムは、累積的な更新プログラム2で最初にリリースされました。SQL Server 2012 Service Pack 1 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2790947 SQL Server 2012 Service Pack 1 の累積的な更新プログラムパッケージ2注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2012 Service Pack 1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2772858 SQL Server 2012 Service Pack 1 がリリースされた後にリリースされた SQL Server 2012 ビルド

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

回避策

この問題を回避するには、次のいずれかの回避策を使用します。

  • アプリケーションとオペレーティングシステムの地域設定を、クライアントに配置されている地域設定と一致するように設定します。

  • ユーザーがテキストを入力するための文字列入力フィールドを作成します。 次に、レポートで、文字列を日付に変換します。

  • レポートの実行時に文字列入力フィールドから設定された非表示または非表示のパラメーターを作成します。

  • 非表示の DateTime型パラメーターと、レポートビューアーコントロール以外の DateTimePicker コントロールを作成します。 [レポートの表示] をクリックし、 SubmittingParameterValuesイベントハンドラーのDateTime型パラメーターに文字列値を入力します。

詳細情報

Microsoft Report Viewer 2010 SP1 の再頒布可能パッケージは、次の Microsoft ダウンロードセンター web サイトからダウンロードできます。

Microsoft Report Viewer 2010 SP1 再頒布可能パッケージTryParseExactメソッドとdatetimeoffsetメソッドの詳細については、次の MSDN web サイトを参照してください。

TryParseExact メソッド (string、string、IFormatProvider、DateTimeStyles、datetimeoffset)DateTimeOffset メソッド (string、datetimeoffset%)

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。