我们最近将数据库从Oracle 11g升级到Oracle 12c。升级后,在报告服务管理器测试报告时,我遇到了一个奇怪的问题,即,如果有调用Oracle存储过程,它将返回错误说
数据集xxxxxxxx
的查询执行失败
我还检查了Windows日志,检查确切的错误是什么,日志显示如下
错误:抛出Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException:Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException:报告处理期间发生错误。
---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:数据集'xxxxxxx'的查询执行失败。
---> System.Data.OracleClient.OracleException:ORA-06550:第1行,第7列:
PLS-00306:调用'xxxxx'时参数的数量或类型错误 ORA-06550:第1行第7栏:
PL / SQL:忽略语句
我检查了是否传递了错误的参数数量但是过程只包含一个输入值和一个输出值,并且必须从报告中传递输入值。
我用谷歌搜索解决方案,我可以看到许多问题面临同样的错误。我尝试了所有方法,例如为oracle 12c版本安装odp.net提供程序并重新启动报告服务。但没有什么能帮助我。
请帮我解决此错误。
答案 0 :(得分:0)
这可能是Kerberos和双跃点问题。您需要在报告服务服务器上启用Kerberos委派以及设置SPN,以便Kerberos可以传递运行报告的用户的凭据,而不是SSRS的服务帐户。
可在此处找到更多详细信息:https://serverfault.com/q/378096/85935