上下文
我在同一个域中的2个不同服务器上安装了Oracle 11g数据库实例和SQL Server 2012实例。 Oracle数据库配置为接受与集成安全性(即Active Directory身份验证)的连接。 SQL Server已安装和配置Reporting Services功能。 Reporting Services将使用Microsoft 中的Oracle .NET数据提供程序连接到Oracle数据库。
问题
在Visual Studio中创建与数据库的数据连接时,使用Integrated Security连接到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一起使用。
答案 0 :(得分:3)
我终于找到了问题所在。当您需要将需要传输的凭据传递到另一台服务器(客户端 - > SSRS - > DB)时,默认的身份验证系统(NTLM)将不够,因为它无法执行双跃点身份验证。您需要授予报表服务器的权限,以通过DC上的Kerberos委派身份验证。这意味着您还必须启用RSWindowsNegotiate作为报表服务器的默认身份验证系统,并为SSRS及其服务帐户定义SPN。
可在此处找到更多详细信息:https://serverfault.com/q/378096/85935