0

语境

我在同一域中的两台不同服务器上安装了一个 Oracle 11g 数据库实例和一个 SQL Server 2012 实例。Oracle 数据库配置为接受与集成安全性的连接(即 Active Directory 身份验证)。SQL Server 安装并配置了 Reporting Services 功能。Reporting Services 将使用Microsoft的 Oracle .NET 数据提供程序连接到 Oracle 数据库。


问题

在 Visual Studio 中创建与数据库的数据连接时,使用集成安全性连接到 Oracle 数据库没有问题。我用这个连接字符串配置了连接:

Data Source=INSTANCE_NAME;Integrated Security=True;Unicode=True

但是,每当我尝试从 SSRS 网站、Report Builder 或 BIDS 在 Reporting Services 中创建数据源时,都会出现登录错误:

ORA-01017: invalid username/password; logon denied

我尝试复制完全相同的连接字符串,但结果始终相同。Reporting Services 似乎Integrated Security=True出于未知原因忽略了该选项。


笔记

SQL Server 2008 R2 也会出现同样的问题。

Oracle 的 Oracle .NET 数据提供程序不能与 Reporting Services 一起使用。

4

1 回答 1

3

我终于找到了问题所在。当您需要传递需要传输到另一台服务器(客户端 -> SSRS -> DB)的凭据时,默认身份验证系统 (NTLM) 将不够用,因为它无法执行双跳身份验证。您需要授予报表服务器通过 DC 上的 Kerberos 委派身份验证的权限。这意味着您还必须启用 RSWindowsNegotiate 作为报表服务器的默认身份验证系统,并为 SSRS 及其服务帐户定义 SPN。

更多细节可以在这里找到:https ://serverfault.com/q/378096/85935

于 2012-04-25T13:44:24.680 回答