2012-06-10 15 views
0

我們在包含SSRS報告的客戶計算機上部署了VB.Net應用程序。從Internet Explorer運行SSRS報告時出現錯誤代碼40(以管理員身份運行)

應用程序連接到應用程序中的SQL Server數據庫時沒有任何問題。我們安裝了SQL Server數據工具,以便我們可以將報告(rdl)和數據源(rdl)文件部署到報告服務器。這些部署沒有任何問題。

在SQL Server數據工具中,我們也可以「預覽」報告,而且沒有任何問題。

嘗試從Internet Explorer查看報告(以管理員身份運行)時遇到問題。

我們得到以下錯誤:

Cannot create a connection to data source 'DataSourceReports' 
(this is the name we used for the TargetDataSourceFolder) 
error:40 - Could not open a connection to SQL Server 

我們也得到了同樣的錯誤,當我們部署應用程序運行報告。

請讓我們知道什麼設置不正確的SQL Server端。

回答

2

可能的可能性是您遇到雙重身份驗證問題。從您的解釋中不清楚,但是在與報表服務器分開的服務器上的SQL Server數據庫?如果是,則憑據允許您連接到報表服務器,但如果您在報表服務器上使用NTLM,則Windows集成安全性不會將這些憑據傳遞到SQL Server數據庫。報告服務器會嘗試在您的網絡上使用Kerberos通過向SQL Server數據庫出票的方式進行身份驗證,但您必須在網絡上正確配置它。如果您想使用Kerberos,請參閱本文:http://technet.microsoft.com/en-us/library/ff679930(v=sql.100).aspx

另一個(更簡單的)解決方案是在報表服務器上打開數據源並將認證更改爲使用存儲的憑證。確保您使用的憑據具有對SQL Server數據庫的讀取權限。這種方法的缺點是,除非您設計報告來捕獲用戶信息,並設置查詢或數據集上的過濾器來限制用戶的數據,否則用戶不能在報告中使用行級安全性。如果這不是問題,那麼存儲的憑證很容易設置和維護 - 如果您想使用緩存,快照或訂閱,則無論如何您都必須這樣做。有關存儲憑證的更多信息,請參見http://msdn.microsoft.com/en-us/library/ms159736.aspx

相關問題