2017-08-16 1 views
0

Business Objectsサーバー内でレポートを表示するときに、ストアドプロシージャデータソース経由でデータを取得する方法はありますか。任意の種類の "SELECT"文が実行されると、データを検索しているようです。ただし、ストアド・プロシージャ内の他のDML文(表への挿入など)は無視されます。Business Objectsサーバーのストアドプロシージャデータソース

アプリケーションがストアドプロシージャを呼び出すと、そのプロシージャは完全に実行されます。しかし、BOXサーバーのCrystal Reportsでは、他のDMLステートメントを無視してデータ検索コードを取り出して実行しているようです。

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

    SELECT 'ABC' [ReturnValue] 
END 

ReturnValueがレポート領域に追加されている間、このクエリは、Crystal Reportsで実行すると、問題がはっきりと見ることができます。プロシージャはプレビューで正しく実行されますが、BOサーバーにデプロイされている場合、insert文は無視されます。どうして?

+0

[レポートでストアドプロシージャを実行する](https://stackoverflow.com/questions/45717557/execute-stored-procedure-in-report) – 4444

+0

ありがとう4444! また、私はヒントを持っていると思います。私はそれが何かにあると思います---キャッシング! BusinessObjectsでレポートを表示しているときに「更新」をクリックすると見つかりました。挿入されたsprocsが実行されます。だから私は私の答えを見つけると思う私はBOのキャッシュを理解する必要があります – MrB

答えて

0

この現象は、テストレポートで[レポートでデータを保存]オプションがチェックされているために発生していました。それがすべてです。これをオフにして、sprocsが正常に動作します

関連する問題