我在本地电脑上安装了ReportBuilder3.0。我正在创建一个新的报表,并将嵌入式数据源添加到数据库中。
当我构建数据源的连接字符串,选择服务器名称和数据库名称时,我单击‘’并收到一条消息,上面写着“测试连接成功”。到现在为止还好。

我用OK按钮关闭连接属性,在窗口中单击‘’按钮。这一次,我遇到一个错误,说“连接不是超时就是丢失了”。

如果忽略此错误,则可以成功地将数据集添加到报表中,并将数据集中的数据添加到报表设计中,但当我尝试运行报表时(在本地PC上),将再次获得连接到数据源的错误。
我最好的猜测是,成功的连接是在我的凭据下运行的,而失败的连接是以其他凭据的形式运行的,因此需要使用Kerberos委托来传递我的凭据,但这只是猜测,即使我是正确的,我也不知道如何解决这个问题--我不知道可能会使用什么其他凭据,而且我已经为Analysis服务帐户设置了SPN。
发布于 2014-12-17 17:33:06
因此,正如我所怀疑的那样,这是一个Kerberos问题,而且我也正确地认为,Report正在使用在另一个身份验证上下文下运行的某个进程来测试连接。
结果是,在设置报表生成器(我已经忘记了)时,您指定了默认的SSRS报表服务器(请参见屏幕快照)。当测试数据源或运行报告时,它必须连接到默认的reports并在那里完成工作--我假设所有的东西都在本地运行!

一旦我明白了这一点,这只是一个关于如何为Kerberos配置SSRS的一个好的向导的案例,一切都开始工作了。在我的例子中,我唯一没有做的就是将<RSWindowsNegotiate/>设置添加到rsreportserver.config文件中的AuthenticationTypes中
https://stackoverflow.com/questions/27526950
复制相似问题