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 中的适当图表缩放