2016-03-17 66 views
16

我正在使用Visual Studio SSDT BI插件爲SQL Server Reporting Services創建報告。我創建的項目被配置爲針對SQL Server版本2008/2012/2014,因爲這些是我們客戶擁有的目標SQL Server。我可以在Visual Studio中控制新SSDT報告的版本嗎?

但是,在Visual Studio中創建的報表文件似乎都是以SQL Server 2016爲目標的。如果我將rdl文件複製到另一個服務器並通過瀏覽器上載,我被告知它們來自較新版本的SSRS,無法上傳。

的問題是雙重的:

  1. <Report>標籤包含一個新型2016的命名空間,取代2010年的一個,在以前的版本中存在:

    <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離開報告文件在以前的版本格式?

+1

有沒有人找到解決方法?拉米的評論。答不解決實際問題。 –

+0

在SSDT 16.3(內部版本號:14.0.60812.0)中,他們表示: 「修復了SQL Server 2008 R2,2012和2014生成無效報告的問題。」 有誰知道這是否解決了這個問題? – Ulli

回答

12

這是設計。

https://connect.microsoft.com/SQLServer/Feedback/Details/2103422

發佈由裏卡爾多·[MSFT]在2015年12月18日在下午5時07分
通過設計,TargetServerVersion影響構建的輸出文件,未源文件。您可以部署構建輸出文件(可以從項目中的\ bin \ Debug或\ bin \ Release文件夾中獲取),而不是源文件。

+0

因爲它解決了我的問題。我指定目標版本,構建並從與該版本一起工作的bin獲取報告。 –

+0

爲了進一步澄清答案,部署到目標服務器的.RDL源可能與開發報告時看到的.RDL源不同。根據TargetServerVersion設置,Visual Studio將重寫\ bin \ XXX文件夾中的.RDL文件,並且還會在檢測到不受支持的報告功能(例如SSRS 2008中的地圖)時生成構建警告。 –

+0

謝謝。我瘋了,它改變了,不讓我回去。 –

3

使用SSDT版本14.0.60305.0的問題相同。

1)我能夠更改每個報告的<report>標記中的xmls命名空間屬性以匹配目標環境。參考https://msdn.microsoft.com/en-us/library/cc627465.aspx關於如何確定目標服務器的RDL Schema版本。

2)我將項目屬性頁面中的TargetServerVersion更改爲「SQL Server 2008 R2,2012或2014」。請參閱http://www.sqlskills.com/blogs/tim/issue-publishing-to-ssrs-2012-with-ssdt-2015/以瞭解如何打開項目屬性頁面。

HTH

+0

因此,有一條規則說「答案應該總是提供答案」。您的帖子應該是評論。 –

+0

謝謝,亞歷杭德羅。只是注意到它並更新了我的答案。 –

+0

感謝您的迴應,但我已經完成了這兩件事;正如我在我的問題中指出的那樣,我可以*將*發佈到SQL 2012服務器,但每次我編輯rdl文件以將其上傳到服務器時,VS都會將它們重新放回到破解版本中。 –

相關問題