複数のパラメーターを含むSSRS(SQL Server 2008 R2)レポートがあります。レポートが最初に読み込まれたときに、パラメーターの1つが一貫してデフォルト値を選択していないという問題があります。
具体的には、BIDSでは正常に機能しますが、IISにデプロイされてIEで表示されると断続的に機能します(あるサーバーでは機能しますが別のサーバーでは機能しません)。断続的には、展開したサーバーで機能することを意味します。 RDSファイルを別のサーバーにコピーすると、パラメーターのデフォルトの動作が壊れます。
詳細
このパラメーターには、「使用可能な値」セクションで指定された一連の指定された(定数)整数値があり、固定レポート期間の選択を表します。デフォルト値には、使用可能な値の1つと一致する単一の指定値があります。
オプション:データ型整数、null値なし、複数値なし、表示可能なパラメーター、更新するタイミングを自動的に決定します。
なぜ私はこの行動を見ているのですか?
つまり、レポートがサーバーに配置されると、パラメーターはサーバーレベルで制御されます。
ただし、デフォルト値を変更してレポートを再展開する場合は、サーバーで変更しないでください!!!新しいデフォルトを有効にするには、レポートを削除して展開する必要があります。
レポートを削除したくない場合は、レポートサーバーで手動でデフォルトを変更します。
この質問に対する自分の答えを見つけました。同じ動作に混乱している可能性のあるSSRSの初心者のために、ここで詳しく説明します。パラメータはRDLファイルとは別に管理でき、レポートがサーバーに展開されるとデフォルトを上書きできます。サーバー上のパラメーターを管理するには:
レポートを削除する必要のない別の解決策(レポートを削除するとログも削除されるという問題)は、ReportBuilder(Modifier dans leGénérateurde rapports)を使用して、新しくデプロイされたレポートを開くことです。
レポートを保存するだけで、デフォルト値が変更されます。
さまざまなシナリオをすべて正しく処理するには少し作業が必要ですが、is(少なくともSql Server 2012以降)からパラメータを更新できます.rdlファイルをxmlファイルとしてロードし、それを ReportingService2010.GetItemParametersSSRS管理Webサービス メソッドから利用可能なさまざまな設定と比較することによるスクリプト
その比較に基づいて、次に ReportingService2010.SetItemParameters メソッドを使用してSSRSサーバーのパラメーターを更新できます。
最後に、接続の問題があります。 " レポートパラメータの既定値は展開中に更新されません "これは、自動更新されるパラメータの既定値のみを許可するように範囲が少し制限されています。
デフォルトのパラメーターを設定してサーバーにデプロイした場合、レポート名がxyz.rdlであるとしましょう。サーバーでは変更されません。私は3つのオプションを提案します。1。レポートで右クリックして、サーバーのパラメーター「既定値」を変更します。2。サーバー上のレポートを削除して再展開します。3。同じ名前のダミーレポートまたは古いバージョンのレポートを展開します。このパラメーターを持たない 'xyz.rdl'を実行すると、サーバー上のレポートパラメーターが消去され、レポートは影響を受けません。次に、デフォルトのパラメーターを使用して新しいバージョンのレポートをデプロイします。これで機能するはずです。
同様の問題がありました。レポートが既定の "なし"のサーバーに配置され、その後、このレポートをVisual Studioで変更し、同じパラメーターをデフォルトに変更した場合、サーバーは変更レポートにデフォルトがあることを取得しません。
このジレンマに対する私の回避策は、ダミーパラメータを作成してリストの一番上に配置することでした。次に、新しいダミーパラメータと同じ修正済みパラメータを使用してレポートを再展開しました。既定のパラメーターです。今度は、サーバーが興味のあるパラメーターをデフォルト値として取得しました。次に、Visual Studioでダミーパラメーターを削除し、レポートを再展開しました。興味のあるパラメーターは、デフォルト値
私がジレンマを修正するためにそのルートに行った場合、レポートを削除してサブスクリプションを追加するのを防ぎました。