2017-08-16 1 views
0

Wie werden Daten über eine gespeicherte Datenquelle abgerufen, wenn ein Bericht in Business Objects Server angezeigt wird? Es scheint, Daten abzurufen, wenn irgendeine Art von "SELECT" -Anweisung ausgeführt wird. Andere DML-Anweisungen in einer gespeicherten Prozedur, wie das Einfügen in eine Tabelle, werden jedoch ignoriert.Stored Procedure-Datenquellen in Business Objects-Server

Wenn eine Anwendung eine gespeicherte Prozedur aufruft, wird sie vollständig ausgeführt. Aber mit Crystal Reports in BO Server scheint es, als kratzt es den Datenabrufcode und läuft, während andere DML-Anweisungen ignoriert werden.

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

    SELECT 'ABC' [ReturnValue] 
END 

Wenn diese Abfrage in Crystal Report ausgeführt wird, während ReturnValue den Bericht Bereich hinzugefügt wird, kann das Problem deutlich zu erkennen. Die Prozedur wird in der Vorschau korrekt ausgeführt. Wenn sie jedoch auf einem BO-Server bereitgestellt wird, wird die INSERT-Anweisung ignoriert. Warum?

+0

Verknüpfen mit [Gespeicherte Prozedur im Bericht ausführen] (https://stackoverflow.com/questions/45717557/execute-stored-procedure-in-report) – 4444

+0

Vielen Dank 4444! Auch ich denke, ich habe eine Ahnung. Ich denke, es ist etwas zu tun mit --- CACHING !!! Da ich gefunden habe, wenn ich "refresh" während der Anzeige Bericht in BusinessObjects klicken --- die Einfügung Sprocs DO ausführen! Also denke ich, um meine Antwort zu finden, muss ich Caching in BO besser verstehen – MrB

Antwort

0

Es stellte sich heraus, dass dieses Verhalten von der Option "Daten mit Bericht speichern" in meinem Testbericht überprüft wurde. Das war alles. Schalten Sie das aus und die Sprocs funktionieren wie erwartet