2017-08-16 54 views
0

在Business Objects服务器中查看报表时,如何通过存储过程数据源检索数据?当任何一种“SELECT”语句被执行时,似乎检索数据。但是存储过程中的其他DML语句(如插入表)会被忽略。Business Objects服务器中的存储过程数据源

当应用程序调用存储过程时,它将全部运行。但是对于BO服务器中的Crystal Reports,似乎它像是将数据检索代码一并删除并运行,而忽略了其他DML语句。

CREATE PROCEDURE dbo.ExampleTestBlahBlah 
AS 
BEGIN 
    INSERT TestTable (RandomColumn) 
     SELECT 'ABC'; 

    SELECT 'ABC' [ReturnValue] 
END 

当此查询在Crystal Reports运行,而ReturnValue添加到报告区域,这个问题可以清楚地看到。该过程在预览中正确运行,但是如果部署到BO服务器,插入语句将被忽略。为什么?

+0

将此链接到[在报告中执行存储过程](https://stackoverflow.com/questions/45717557/execute-stored-procedure-in-report) – 4444

+0

谢谢4444! 另外我想我有一个线索。我认为这是应该做的---缓存! 因为我在查看BusinessObjects中的报表时单击“刷新”时发现---插入sprocs DO运行!所以我想找到我的答案,我需要更好地理解BO中的缓存 – MrB

回答

0

原因是在我的测试报告中选中了“保存带报告的数据”选项。就是这样。打开关闭和sprocs按预期工作

相关问题