Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 无法从SSRS Reporting Manager调用Oracle存储过程_Reporting Services_Ssrs 2012_Oracle12c - Fatal编程技术网

Reporting services 无法从SSRS Reporting Manager调用Oracle存储过程

Reporting services 无法从SSRS Reporting Manager调用Oracle存储过程,reporting-services,ssrs-2012,oracle12c,Reporting Services,Ssrs 2012,Oracle12c,我们最近将数据库从Oracle 11g升级到Oracle 12c。升级后,在测试Reporting service manager的报告时,我遇到了一个奇怪的问题,即,无论何时调用Oracle存储过程,它都会返回一个错误 数据集xxxxxxxx的查询执行失败 我也检查了windows日志,以检查确切的错误是什么,日志显示如下 错误:抛出Microsoft.ReportingServices.ReportProcessing.ProcessingBortedException:Microsoft.

我们最近将数据库从Oracle 11g升级到Oracle 12c。升级后,在测试Reporting service manager的报告时,我遇到了一个奇怪的问题,即,无论何时调用Oracle存储过程,它都会返回一个错误

数据集xxxxxxxx的查询执行失败

我也检查了windows日志,以检查确切的错误是什么,日志显示如下

错误:抛出Microsoft.ReportingServices.ReportProcessing.ProcessingBortedException:Microsoft.ReportingServices.ReportProcessing.ProcessingBortedException:在报告处理过程中发生错误

--->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提供程序和重新启动reporting services。但对我来说一切都不顺利


请帮助我解决此错误。

这可能是Kerberos和双跳问题。您需要在reporting services服务器上启用Kerberos委派,并设置SPN,以便Kerberos可以传递运行报表的用户的凭据,而不是SSR的服务帐户


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

您是否尝试在SQL Developer中运行PL\SQL查询?是的,我尝试过。它按预期工作。报表是否在您的开发计算机上运行?是的,我尝试过。它返回一个错误,指出ORA 010301权限不足。我也检查了权限,但所有权限对我来说都很好,因为在SQL Developer的Oracle 11g版本的databaseIn中应用了相同的权限。当它成功运行时,您是使用哪个帐户执行SQL的?如果错误表明这是一个特权错误,则必须是您正在使用的帐户。