web-dev-qa-db-ja.com

Visual Studioで新しいSSDTレポートのバージョンを制御できますか?

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に以前のバージョン形式のレポートファイルを強制的に残す方法はありますか?

18

これは仕様です。

https://connect.Microsoft.com/SQLServer/Feedback/Details/2103422 を参照してください

投稿者:Riccardo [MSFT] on 12/18/2015 at 5:07 PM
設計上、TargetServerVersionはソースファイルではなくビルド出力ファイルに影響します。ソースファイルではなく、ビルド出力ファイル(プロジェクト内の\ bin\Debugまたは\ bin\Releaseフォルダーから取得できます)をデプロイします。

12
Rami A.

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

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

2)プロジェクトプロパティページのTargetServerVersionを「SQL Server 2008 R2、2012、または2014」に変更しました。リファレンス http://www.sqlskills.com/blogs/tim/issue-publishing-to-ssrs-2012-with-ssdt-2015/ プロジェクトプロパティページを開く方法を確認します。

HTH

3
aEon'