【发布时间】:2018-06-11 14:05:26
【问题描述】:
我们最近将数据库从 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 提供程序并重新启动报告服务。但对我来说没有任何结果。
请帮我解决这个错误。
【问题讨论】:
-
您是否尝试过在 SQL Developer 中运行 PL\SQL 查询?
-
是的,我试过了。它按预期工作。
-
报表是否在您的开发机器上运行?
-
是的,我试过了。它返回一个错误,指出 ORA 010301-Insufficient Privileges。我还检查了 Privileges,但对我来说一切都很好,因为在 Oracle 11g 版本的数据库中应用了相同的 Privileges
-
在SQL Developer中,当它运行成功时,你在哪个账户执行SQL?如果错误表明这是一个权限错误,则它必须是您正在使用的帐户。
标签: reporting-services ssrs-2012 oracle12c