Reporting Services:无法使用集成安全性连接到 Oracle

Posted

技术标签:

【中文标题】Reporting Services:无法使用集成安全性连接到 Oracle【英文标题】:Reporting Services: Cannot connect to Oracle using Integrated Security 【发布时间】:2012-04-10 13:54:18 【问题描述】:

上下文

我在同一个域的两台不同服务器上安装了一个 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

但每当我尝试通过 s-s-rS 网站、报表生成器或 BIDS 在 Reporting Services 中创建数据源时,都会出现登录错误:

ORA-01017: invalid username/password; logon denied

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

备注

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

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

【问题讨论】:

您尝试使用 domain\username 和/或 username@domain 将域添加到您的用户名? 我不想手动提供任何用户名/密码,而是自动提供我当前的 Windows 用户,这就是集成安全性的重点。 你试过Integrated Security=yes 吗? @A.B.Cade:我刚刚尝试使用Yes 而不是True,得到了相同的结果。 我不确定Integrated Security 与oracle 是什么意思,据我所知,自11g 以来没有真正的操作系统身份验证,而是Secure External Password Store 那么您的环境是如何配置的?你能像这样从 sql*plus(WO 用户/密码)连接吗? 【参考方案1】:

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

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

【讨论】:

以上是关于Reporting Services:无法使用集成安全性连接到 Oracle的主要内容,如果未能解决你的问题,请参考以下文章

无法访问 Reporting Services 的报告管理器

Reporting Services Excel 呈现扩展插件?

在 sp3 和 cu1 之后无法连接到 Reporting Services 中的 Oracle

Reporting Services 2005 中的适当图表缩放

我们如何分配权限来设置 SQL Server Reporting Services

Reporting Services 配置工具