20

Visual Studio SSDT BI アドオンを使用して、SQL Server Reporting Services のレポートを作成しています。私が作成したプロジェクトは、SQL Server バージョン 2008/2012/2014 をターゲットにするように構成されています。これは、これらがお客様のターゲット SQL Server であるためです。

ただし、Visual Studio 内で作成されているレポート ファイルはすべて、SQL Server 2016 を対象としているようです。rdlファイルを別のサーバーにコピーしてブラウザー経由でアップロードすると、新しいバージョンの SSRS からのものであり、アップロードできないと言われます。アップロードされます。

問題は次の 2 点です。

  1. この<Report>タグには、以前のバージョンに存在していた 2010 の名前空間を置き換える新しい 2016 の名前空間が含まれています。

    <Report 
      xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"
      xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" 
      xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition">
    
  2. 新しいファイル形式には、2016 の名前空間で定義されているパラメーター レイアウト セクションが含まれていますが、2010 の名前空間では定義されていません。

     <ReportParametersLayout>
                .
                .
                .
     </ReportParametersLayout>
    

名前空間を変更してセクション2010を削除するとReportParametersLayout、レポートは SQL 2012 で正常に機能しますが、次回レポートを開いたときに Visual Studio によって元に戻されます。

(興味深いことに、レポートを VS から直接デプロイすると、パラメーター レイアウトが 2012 ではサポートされておらず、削除されているという警告が表示されます。これは、Visual Studio がその場でレポート定義を修正していることを意味します)。

VS でレポート ファイルを以前のバージョンの形式のままにしておく方法はありますか?

4

2 に答える 2

3

SSDT バージョン 14.0.60305.0 を使用して同じ問題が発生しました。

1)<report>各レポートのタグの xmls 名前空間属性をターゲット環境に合わせて変更できました。ターゲット サーバーの RDL スキーマ バージョンを確認する方法については、https://msdn.microsoft.com/en-us/library/cc627465.aspxを参照してください。

2) プロジェクト プロパティ ページの TargetServerVersion を "SQL Server 2008 R2、2012、または 2014" に変更しました。プロジェクト プロパティ ページを開く方法については、http://www.sqlskills.com/blogs/tim/issue-publishing-to-ssrs-2012-with-ssdt-2015/を参照してください。

HTH

于 2016-03-17T22:32:37.967 に答える