2008-10-16 22 views
8

Al ejecutar un informe de Jasper en el que el SQL está incrustado en el archivo de informe (.jrxml), ¿es posible ver el SQL que se ejecuta? Idealmente, también me gustaría ver los valores que se sustituyen por cada uno de los marcadores de posición $ P {}.ver SQL ejecutado por el informe de Jasper

Cheers,

Don

Respuesta

0

Puede ajustar la configuración de log4j para registrar el SQL corriendo ...

+0

¿Alguna idea de qué configuración conseguiría eso? –

1

Si está utilizando MS SQL puede utilizar el Analizador de SQL, para ver todas las consultas ejecutado en el servidor.

EDIT: Aquí está un artículo sobre cómo activar el registro de consultas SQL en el servidor MySQL: http://www.howtogeek.com/howto/database/monitor-all-sql-queries-in-mysql/

+0

Encontré instrucciones para habilitar el registro de consultas MySQL en ventanas aquí: http://dotnot.org/blog/archives/2005/01/11/query-logging-in-mysql-on-windows/ –

11

JasperReports utiliza la API de registro Jakarta Commons. Commons Logging tiene un mecanismo de descubrimiento que se conecta a la API de registro que está utilizando en su proyecto.

Necesita configurar el registrador llamado "net.sf.jasperreports" en su archivo de configuración de registro para controlar el nivel de registro de JasperReports.

Si está utilizando Log4j, puede leer this section de su documentación para obtener detalles exactos.

Por ejemplo, puede escribir algo como esto en el archivo log4j.properties

log4j.logger.net.sf.jasperreports = INFO, Daily

Donde "diario" es el nombre de un appender configurado en el mismo archivo de propiedades.

5

Otra opción es usar p6spy. P6Spy es una especie de "controlador proxy JDBC" que se encuentra entre la aplicación y el controlador JDBC real, y puede registrar todo lo que ve. Debería poder descargar una copia aquí: http://www.p6spy.com/

Cuestiones relacionadas