2008-10-16 53 views
8

运行报告文件(.jrxml)中嵌入了SQL的Jasper报告时,是否可以查看执行的SQL?理想情况下,我还希望看到替换每个$ P {}占位符的值。查看由Jasper执行的SQL报告

干杯,

回答

0

你可以调整你的log4j设置登录运行SQL ...

+0

任何想法什么设置将实现呢? – 2008-10-16 17:10:27

1

如果您使用MS SQL,您可以使用SQL事件探查器,看看每个查询在服务器上执行。

编辑:这里是让MySQL服务器上的SQL查询日志的文章:http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/

+0

我在这里找到了在Windows上启用MySQL查询日志的说明: http://dotnot.org/blog/archives/2005/01/11/query-logging-in-mysql-on-windows/ – 2008-10-16 18:31:01

11

JasperReports的使用Jakarta Commons的日志API。 Commons Logging具有连接到您在项目中使用的日志API的发现机制。

您需要在日志记录配置文件中配置名为“net.sf.jasperreports”的记录器来控制JasperReports的日志记录级别。

如果您使用的是Log4j,那么您可以阅读this section的文档以了解确切的详细信息。

例如,您可能写log4j.properties这样的文件

log4j.logger.net.sf.jasperreports = INFO,每日

其中,“日报”是相同配置的附加目的地的名称属性文件。

5

另一种选择是使用p6spy。 P6Spy是一种位于应用程序和真正的JDBC驱动程序之间的“代理JDBC驱动程序”,它可以记录它看到的所有内容。你应该可以在这里下载一个副本:http://www.p6spy.com/