Visual Studio SSDT BIアドオンを使用して、SQL Server Reporting Servicesのレポートを作成しています。私が作成したプロジェクトは、SQL Serverバージョン2008/2012/2014をターゲットとするように構成されています。これは、これらがお客様のターゲットSQL Serverであるためです。
ただし、Visual Studio内で作成されるレポートファイルはすべてSQL Server 2016を対象としているようです。rdl
ファイルを別のサーバーにコピーしてブラウザー経由でアップロードすると、新しいバージョンのものであると通知されますのSSRSであり、アップロードできません。
問題は2つあります。
<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">
新しいファイル形式には、2016名前空間で定義されているが2010年名前空間では定義されていないパラメーターレイアウトセクションが含まれています。
<ReportParametersLayout>
.
.
.
</ReportParametersLayout>
名前空間を2010
に戻し、ReportParametersLayout
セクションを削除すると、レポートはSQL 2012で正常に機能しますが、Visual Studioは次回レポートを開いたときに元に戻します。
(興味深いことに、VSからレポートを直接展開すると、パラメーターレイアウトが2012年にサポートされず削除されるという警告が表示されます。これは、Visual Studioがレポート定義をその場で修正していることを意味します。)
VSに以前のバージョン形式のレポートファイルを強制的に残す方法はありますか?
これは仕様です。
https://connect.Microsoft.com/SQLServer/Feedback/Details/2103422 を参照してください
投稿者:Riccardo [MSFT] on 12/18/2015 at 5:07 PM
設計上、TargetServerVersionはソースファイルではなくビルド出力ファイルに影響します。ソースファイルではなく、ビルド出力ファイル(プロジェクト内の\ bin\Debugまたは\ bin\Releaseフォルダーから取得できます)をデプロイします。
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