2

我有大量的報告部署到SQL Server 2005 Reporting Services服務器。它們都是使用相同的報告模型(SDML)開發的,該報告模型引用了相同的數據源視圖(DSV),該數據源視圖(DSV)指向充滿大部分虛擬數據的測試數據庫。現在,我想用這些報告從實時數據庫中提取實際數據。這兩個數據庫具有完全相同的結構。如何將基於數據源視圖和報表模型的源更改爲不同的數據庫?

在我看來,如果我只能更改數據源視圖中引用的數據源,那麼我可以重新部署報表模型,並且基於它的所有報表也會引用正確的數據。我可以在Business Intelligence Development Studio 2005中看到,在設計模式的數據源視圖屬性列表中有一個選項可以更改數據源。所以我改變了數據源,認爲這會起作用。但是,當我在數據源視圖中更改數據源後嘗試重新部署報告模型時,出現許多如下所示的錯誤消息:

錯誤1實體「地址」的表格屬性指的是表'dbo_address',它不在主數據源中。 Events.smdl 0 0

有沒有別的東西,我需要在這裏做什麼?報表模型或數據源視圖中的某些內容應該更新?有另一種方法可以做我需要的嗎?

編輯1:

我試圖改變報表模型的數據源服務器上的報告進行部署後,這似乎工作得很好。這不是正好我想要做的,但它的工作原理。感謝大家。

+0

Joshua: 對不起,我沒有任何答案,但請讓我們知道你找到了什麼。這是非常有趣的問題。 – 2009-10-02 21:54:57

回答

2

已經爲我工作最好的策略是「測試」共享數據源部署到服務器上,然後通過報表管理器界面編輯指向「生產」數據庫(改變連接字符串)。確保Overwrite Datasources在部署時設置爲false。

此外,數據庫模式必須在測試一樣,因爲它是在生產。

1

我沒有與報表模型儘可能多的經驗,但通常SSRS不喜歡它,當您更改的數據源,並要求您刷新所有,如果你這樣做,你有數據集。

或者,只是改變了報表服務器本身的數據源定義。

1

這聽起來像你正在改變dsv引用的數據源。相反,爲什麼不嘗試更改數據源的連接字符串。 DSV在內部使用GUID來標識各種表和字段,我懷疑通過創建一個新的數據源GUID將會改變,這就是爲什麼你會看到這些錯誤信息(因爲錯誤信息是將內部使用的GUID映射到它的「友好名稱」)。

1

我使用的安裝在同一個文件夾中的報告被部署到一個同名的數據源(.rds)文件爲每個環境。這只是一個連接字符串...

我的經驗是一樣zalzaw的 - 如果你改變了數據源,你必須刷新與報表相關的所有數據集,而在新的環境指着基礎對數據源進行更改。這是非常乏味的 - 你去數據選項卡在Business Intelligence Development Studio 2005中的報告:

  1. 從下拉菜單中
  2. 選擇一個數據集單擊刷新按鈕(第2到數據集的權圖標看起來像回收)

重複步驟,直到所有數據集都被刷新。

確保數據庫(和存儲過程)同步。如果一張桌子在Dev中存在,但在測試或產品中不存在,這一切都是徒勞的......

相關問題