2011-11-09 28 views
10

我正在使用SSRS 2008 R2和Report Builder 3.0。我通過瀏覽器(http:// myserver/reports /)設置了一個共享數據源,其中「憑據安全地存儲在報表服務器中」用於多個報表。通過瀏覽器測試連接。Report Builder 3.0 - 數據集證書不起作用

現在,我啓動了Report Builder 3.0。我開始一個新的報告和「添加數據源」。我選擇「使用共享連接」,瀏覽到服務器,然後選擇上述數據源。點擊「測試連接」,一切正常。

然後我嘗試「添加數據集」。在對話框中,我選擇「使用嵌入在我的報告中的數據集」,我選擇上面添加的數據源,鍵入SQL字符串並單擊確定。出現「輸入數據源證書」。無論有效域(如域管理員帳戶和其他)或SQL Server(如'sa'帳戶)憑證以及我使用的複選框進行什麼置換,都會出現「無法連接到數據源」。

共享數據源上的安全設置允許BUILTIN \ administrators和domain \ administrator所有角色。數據源確實有效,因爲一些遺留的遷移報告運行良好。報表生成器說數據源連接好。但是,我無法創建新報告,也無法修改現有報告。

有什麼建議嗎?

回答

11

經過大量gnashing和等待後,Report Builder使用Report Server中的定義中的信息來自行運行查詢,而不是通過Reporting Services運行查詢。

我錯誤的看法是,當我在設置數據集時執行類似刷新字段的操作時,報表生成器正在通過報表服務來獲取相關輸出和/或元數據。這似乎並非如此。

我已經將共享數據源的連接字符串定義爲Data Source=(local);Initial Catalog=<database name>。現在,當您處於Reporting Services的瀏覽器界面中時,它可以工作,但Report Builder似乎讀取連接字符串並將其用於自身。我的本地開發機器上的Reporting Services沒有運行這些報告的目標服務器上的任何設置,因此任何東西我會使用將會失敗。

將連接字符串更改爲Data Source=<server name>;Initial Catalog=<database name>而不是本地主機允許報表生成器正常工作。 (RB仍然彈出「輸入數據源證書」,我用我的Windows憑據,這是在目標服務器上的有效登錄。)

+1

我有類似的問題,你的回答推動我朝着正確的方向前進。不同之處在於本地工作站上安裝的客戶端是Native Client 10,服務器上安裝了Native Client 11.服務器上的連接字符串必須將提供程序名稱從SQLNCI11.1更改爲SQLNCI10.1才能在本地計算機上工作。最終的解決方案是在工作站上安裝Native Client 11。 –

+0

很酷。很高興我能成爲你的另一種解決方案的核心!感謝您的加入。 – alphadogg

1

爲了完成您嘗試的操作,聽起來您需要使用Windows集成安全性。

根據MSDN存儲的憑據不傳遞給客戶端應用程序。它們僅供報表服務器用於預定報表之類的內容。

http://msdn.microsoft.com/en-us/library/ms159736.aspx

我可以告訴你的是,提示「輸入數據源憑據」正在尋找SQL身份驗證,而不是域帳戶。

+0

嗯,我已經使用了一個「安全地存儲在報表服務器」的數據源。還有其他有效的SQL登錄。但是,似乎沒有任何工作。 – alphadogg

1

傑出的問題和答案。我真的很感謝你的仔細描述。我有同樣的問題。在我的情況下,問題是我正在通過VPN連接到家庭辦公室的機器訪問Report Builder。我猜是因爲我在家庭辦公室的Windows網絡之外,RB無法認證我。使用連接到辦公室機器的遠程桌面使我能夠解決問題。您和@ RichShealer的答案提醒我,當從瀏覽器運行報告時,它們將由內部服務器機器提供服務。運行桌面應用程序RB時,情況並非如此。