2017-08-16 157 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