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

Sql server Reporting Services:无法使用集成安全性连接到Oracle,sql-server,oracle,reporting-services,integrated-security,Sql Server,Oracle,Reporting Services,Integrated Security,上下文 我在同一域中的两台不同服务器上安装了一个Oracle 11g数据库实例和一个SQL Server 2012实例。Oracle数据库配置为接受具有集成安全性(即Active Directory身份验证)的连接。SQL Server已安装并配置Reporting Services功能。Reporting Services将使用Microsoft提供的Oracle.NET数据提供程序连接到Oracle数据库 问题 在VisualStudio中创建到数据库的数据连接时,我可以使用集成安全性连接

上下文

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


问题

在VisualStudio中创建到数据库的数据连接时,我可以使用集成安全性连接到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一起使用。

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


更多细节可以在这里找到:

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


更多详细信息可在此处找到:

U已尝试使用domain\username和/或将域添加到您的用户名中username@domain?我不想手动提供任何用户名/密码,但会自动提供我当前的Windows用户,这就是集成安全的全部意义。您是否尝试过
integratedsecurity=yes
?@A.B.Cade:我只是尝试了
yes
而不是
True
,我得到了相同的结果。我不确定您对oracle的
集成安全性
是什么意思,据我所知,从11g开始就没有真正的OS身份验证,取而代之的是
安全外部密码存储
,那么您的环境是如何配置的呢?您可以通过sql*plus(WO用户/密码)这样连接吗?您尝试使用domain\username和/或将域添加到您的用户名中username@domain?我不想手动提供任何用户名/密码,但会自动提供我当前的Windows用户,这就是集成安全的全部意义。您是否尝试过
integratedsecurity=yes
?@A.B.Cade:我只是尝试了
yes
而不是
True
,我得到了相同的结果。我不确定您对oracle的
集成安全性
是什么意思,据我所知,从11g开始就没有真正的OS身份验证,取而代之的是
安全外部密码存储
,那么您的环境是如何配置的呢?你能从sql*plus(WO用户/密码)这样连接吗?