【问题标题】:Reporting Services: Cannot connect to Oracle using Integrated SecurityReporting Services:无法使用集成安全性连接到 Oracle
【发布时间】: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

但每当我尝试通过 SSRS 网站、报表生成器或 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 用户/密码)连接吗?

标签: sql-server oracle reporting-services integrated-security


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多