reporting-services - 无法从 SSRS 报告管理器调用 Oracle 存储过程
问题描述
我们最近将数据库从 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 提供程序并重新启动报告服务。但对我来说没有任何结果。
请帮我解决这个错误。
解决方案
这可能是 Kerberos 和双跳问题。您需要在报告服务服务器上启用 Kerberos 委派并设置 SPN,以便 Kerberos 可以传递运行报告的用户的凭据,而不是 SSRS 的服务帐户。
更多细节可以在这里找到:https ://serverfault.com/q/378096/85935
推荐阅读
- php - numfmt_format_currency 但没有美分
- python - 从 DBF 文件中提取字段名称和类型
- r - 加入数据集时如何删除重复观察
- com - Windows Store 应用程序中的 RunningObjectTable 访问
- c# - Xamarin Forms api 调用不返回包含在 json 字符串中的相关实体
- angular - 事件触发多次(多次)时的socket.io + angular2 +观察者多个状态(路由)
- jquery - 如何在 iconpicker 中只显示 fontawesome 4 图标?
- angular - Angular (v5+) - Snackbar “openFromComponent”,组件通信
- sas - 对SAS中数字变量的最后一位进行子串化
- opencv - 如何通过openCV用蒙版拼接图像?(仅缝合部分图像)