2017-08-16 145 views
0

我的存儲過程和表捕獲有關哪些報告按誰以及在什麼時間運行的詳細信息。這在Crystal Reports開發人員環境中正常工作;這個存檔會被運行並捕獲細節。在報告中執行存儲過程

部署到Business Objects時,我的存儲過程中的insert語句永遠不會啓動。他們肯定在報告中,但不要在記錄表中創建任何條目。我該如何解決這個問題?

這幾乎就像Crystal Reports從存儲過程中「刮」出SQL,忽略插入語句,並運行查詢而不是實際運行存儲過程。

我不想使用帶有業務對象的審計功能,那麼我該如何才能使用這個工作呢?

+0

你的proc是什麼?和哪裏放在你的應用程序? – Krum

+0

編輯:通過捕獲使用情況的sproc返回一個值來獲得這個工作。然後將該值放在報告的底部。將文本與背景顏色相同,以便用戶不能看到它。這似乎使Business Objects運行sproc並捕獲細節。 – MrB

+0

這是我做的: 1.創建一個表來捕獲上面提到的細節(什麼報告由誰和什麼時候運行) 2.創建sproc以填充表格並且還有sproc返回值「1」 3.在CReports的db專家中添加sproc 4.將返回值拖放到報告中,並使文本的顏色與背景或小或任何其他顏色相同 5.現在,當報表在Business Objects中運行時,會成功觸發sproc並捕獲表 中的所有這些好的細節6.在這些運行一段時間後,我們得到了良好的報告使用情況 – MrB

回答

0

你可以得到你的aplication提到的細節,你不需要使用DB專家只是這個信息,例如:在你的應用程序

Dim p As New Report 
p.ReportName = getReportName() 
p.User = getUser() 
p.Date = getDate() or "DateTime.Now" 
p.show() 
在報告中

Public ReportName As String 
Public User As String 
Public Date As String 

"object".SetParameterValue("Parameter Field Name 1", ReportName) 
"object".SetParameterValue("Parameter Field Name 2", User) 
"object".SetParameterValue("Parameter Field Name 3", Date) 

順便說一句,你可以在你的應用程序中添加這些數據,而不是在報告中。

+0

我不明白:( 但是這聽起來很有趣 我沒有一個應用程序,它只是BIZ對象服務器顯示報告 試圖理解您的帖子,但沒有得到它 – MrB

+0

哦對不起,我沒有注意到,這是在「業務對象」 – Krum

+0

其確定...你給我看到其他東西真的很酷...你說讓我看看周圍的水晶報告,並找到我可以在那裏得到當前的用戶,分配到一個公式字段,並將其傳遞到我的跟蹤代碼片段中,這是非常好的,因爲在這之前,最好的辦法是從SQL Server獲得HOST_NAME(),但結果是HOST_NAME for業務對象報告始終是服務器,而不是用戶工作站nam即從CR內獲取用戶和傳遞是grrrrrrrrrreat! – MrB