2008-10-16 54 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/