1

我将 SQL Server 2005 与 Reporting Services 一起使用。我安装了许多报告,有些使用共享数据源,有些没有;一些访问 Web 服务,一些访问 sql server 数据库,现在我正在尝试连接到 DB2 数据库。

我已经在 Visual Studio 2005 中成功创建了共享数据源和报表。我可以很好地提取数据并将其显示在设计器中的报表上。我现在正在尝试通过 ssrs Web 服务安装报告和数据源(与所有其他报告相同)。

问题是我们的大多数数据源都使用集成安全性,对于这个数据源,我使用“不需要凭据”,因为它们已在连接字符串中列出。这是我的安装代码:

Dim definition As New ServiceProxy.DataSourceDefinition

definition.ConnectString = connectionStringIncludingUsernameAndPassword
definition.Extension = "OLEDB"
definition.CredentialRetrieval = ServiceProxy.CredentialRetrievalEnum.None 

ServiceWebService.CreateDataSource(dataSourceName, containingFolderFromRoot, True, definition, Nothing)

这也可以正常工作并且没有错误,并且似乎可以在 ssrs 中正确创建数据源。但是当我去运行报告时,我得到了这个错误:

当前操作无法完成,因为执行此报表所需的用户数据源凭据未存储在报表服务器数据库中。(rsInvalidDataSourceCredentialSetting)

我的报表已正确连接到我的数据源,并且我的数据源已正确设置为不需要的凭据,因此它与 Visual Studio 中的完全一样。我没主意了。

4

1 回答 1

0

问题有几个方面:

  1. 用户名和密码列在连接字符串中,而不是在服务器内部
  2. 报表服务器上安装的 db2 connect 软件已过期(8 而不是 9)
  3. 用户组“DB2Users”没有任何成员

纠正这些问题后,报告有效!

于 2009-05-07T19:44:15.800 回答