2017-08-16 66 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按預期工作