2009-11-11 44 views
8

我有一個解決方案,其中包含多個報告項目(每個目標部署文件夾一個 - 我認爲這是實現這種效果的唯一方法,至少在放棄Visual Studio進行報告部署之前)。如何在Microsoft SQL Server 2005 Reporting Services中的多個項目之間共享數據源並保持Visual Studio「預覽」?

我想爲所有這些報告指定我的數據源信息「一次且只有一次」。

到目前爲止,我創建了一個包含我的共享數據源的單獨報告項目。如果我按照正確的順序將事情部署到報告服務器,並向適當的神靈提供足夠的祈禱,報告似乎會鏈接到共享數據源並運行(至少通過IE中的報告管理器)。

但是,當我開發報告時,我不能再「預覽」在本地嘗試 - 我現在必須將它部署到報告服務器以嘗試運行它。這是一件麻煩事。

我唯一的辦法是添加一大堆數據源的副本(指向我的開發數據庫),每個項目一個,設置不要從我的機器上部署,並且(可能)將它們從源代碼管理中排除?

回答

8

的技術,我現在打的是我的數據源(.rds)複製到每一個項目,關閉Visual Studio中,然後在下面的文件/文件夾:

  • 刪除複製.rds從我的報告項目(只留下我Data Sources項目中的一個副本)
  • 在每個報表項目的項目文件(Foo.rptproj),該Project.DataSources.ProjectItem.FullPath元素的文本改變從My Shared Data Source.rds..\Data Sources\My Shared Data Source.rds

這樣,所有報告項目都會引用文件系統中的同一個底層文件,因此它們共享一個數據源定義,但每個項目也都有一個「本地」共享數據源,因此Visual Studio保持高興。

關於源代碼管理:仍然只有一個.rds的副本簽入,所以我們不會污染代碼庫中的大量icky重複項;可以檢查.rptproj文件的更改,因此我們不會強迫開發人員進入不自然的源代碼控制體操(選擇性部分提交等)以維護一個理智的主副本。

每個報告項目將嘗試部署此數據源,雖然我已經被禁止的服務器上的現有數據源的重寫,所以它不是太大的交易。 。 。我想,如果我打算覆蓋服務器的數據源定義,它不會真的不管我用同樣.rds改寫過一次或十次。

免責聲明:這仍然是一個實驗。我在實踐中還沒有使用這種技術的經驗,所以我無法真正推薦它。

+0

我一直在使用此設置的一對夫婦個月,這似乎是一種工作。 – 2010-02-01 20:31:46

+0

如果源代碼管理系統具有共享功能,則源代碼管理方法可能是一個相當不錯的答案。我正在使用Vault,它非常漂亮。物理文件的拷貝被製作成所有的項目,但是任何物理實例都可以被編輯,並且在源代碼控制下仍然只有一個文件副本,所以它都是由Vault完全管理的,沒有任何體操操作。 – 2012-05-18 21:22:49

0

伍迪,

我們往往做的是:

  1. 在服務器上有一個名爲「數據源」文件夾,這是從用戶隱藏。將會有所有的數據源。

  2. 對於VS中的每個報告項目,都會有一個文件夾,也稱爲「DataSources」,但這次它只包含此報告的數據源。

只要文件夾結構是相同的(即報告和數據源對服務器和VS相同的相應文件夾級別),這似乎爲我們工作。 (?使壞)

相關問題